以CentOS 7为例,进行更换源,系统升级,安装宝塔等教程

查看 36|回复 2
作者:xbz0412   
前两天和我一多年的哥们闲聊服务器,了解到他一直都是服务器开好,
不做任何优化直接安装宝塔使用的,直接使用默认虽然也不会有什么大问题,
但是对于服务器来说,各种参数其实还没有调到最优化,使用中也会出现一些小问题。
为什么我以CentOS 7为例子呢?因为虽然停止更新了,但是它还是目前宝塔适配兼容性最好的系统
而且CentOS官方停止维护并不对使用和安全造成很大的影响,影响安全的主要还是自己的设置
比如开放高危端口,弱密码,网站源码带毒或者使用通用密钥等等,都会给服务器造成很大的安全隐患
这里我用一台之前发布过可白嫖的服务器给大家制作本教程


image.png (20.87 KB, 下载次数: 0)
下载附件
保存到相册
1小时前 上传

如图所示,系统目前为CentOS-7.6.1810-x64
拿到服务器后,我们SSH远程连接服务器,由于官方停止维护,我们需要先换源
换源的好处应该不用我多说吧,使用国内源速度更快更稳定,国外源容易出现链接问题
这里我们用到的是这个一键脚本:https://linuxmirrors.cn/use/
想偷点懒的同学也可以直接复制代码粘贴进去执行
[ol]
  • bash 复制代码
    运行后如下图,可以按照自己的需求去选择喜欢的源


    image.png (44.14 KB, 下载次数: 0)
    下载附件
    保存到相册
    1小时前 上传

    我一般都是使用【阿里云/腾讯云】的源,用的人较多,稳定
    输入“1”并按回车,后面的两个提示也可以直接按回车
    默认使用软件源的公网地址,是否继续? [Y/n]【回车】
    软件源是否使用 HTTP 协议? [Y/n]【回车】
    是否安装 EPEL 附加软件包? [Y/n]【回车】


    image.png (42.32 KB, 下载次数: 0)
    下载附件
    保存到相册
    1小时前 上传

    随后脚本就会自动进行更换源操作,以及生成源缓存


    image.png (51.9 KB, 下载次数: 0)
    下载附件
    保存到相册
    1小时前 上传



    image.png (51.88 KB, 下载次数: 0)
    下载附件
    保存到相册
    1小时前 上传

    脚本运行结束,可以直接【回车】跳过更新软件包
    更换源的操作流程到这里就结束了,下面我们操作升级系统
    升级系统的重要性还是比较重要的,目前我们的系统是CentOS7.6
    通过yum更新是可以升级到CentOS7最后发布的一个版本的,也就是7.9
    由于我们已经更新好了源,直接敲入代码按回车执行更新即可
    [ol]
  • yum -y update[/ol]复制代码升级会比较久,主要是看你服务器的下载速度和硬盘配置决定的
    全部升级完成会有提示,升级了哪些软件包,卸载了哪些不兼容的包
    升级结束后,这时候我们输入reboot命令重启服务器即可,
    这里注意:不重启的话,系统切换不到新内核,使用的还是旧系统
    由于更新了系统内核,所以我们可以删掉之前的内核引导
    可以移步我之前写的教程里,千万不要卸载错了,不然系统启动不了
    卸载CentOS无用的旧启动项:https://blog.caiwenhao.cn/zhanzhang/860.html
    小白用户可以直接跳过这一步,旧内核不卸载也一样可以使用
    教程仅仅是写出方法,和你的服务器内核版本会有出入,仅供参考
    接下来我们优化网络设置,这里其实很简单,IP,子网,网关一般是动不了的
    我们修改一下DNS服务器即可,使其解析更为精准,我习惯性的使用公用DNS
    阿里公共DNS:223.5.5.5
    腾讯公共DNS:119.29.29.29
    百度公共DNS:180.76.76.76
    114公共DNS:114.114.114.114
    非大陆服务器还可以选择
    Cloudflare DNS:1.1.1.1
    谷歌DNS:8.8.8.8
    更换DNS的方法比较多,各个服务器也不同,有些是写在网卡配置文件里
    有些则是写在“/etc/resolv.conf”里的,根据自己的服务器来判断修改
    小白用户可以直接在后续安装的宝塔里使用插件修改,如下图


    image.png (45.95 KB, 下载次数: 0)
    下载附件
    保存到相册
    1小时前 上传

    接下来我们继续优化系统,关闭selinux服务
    [ol]
  • sed –i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config[/ol]复制代码
    复制代码粘贴回车,本操作是修改selinux配置文件关闭,需要重启系统才能生效
    [ol]
  • grep SELINUX=disabled /etc/selinux/config[/ol]复制代码
    本操作是查看是否已经修改完成,如返回“SELINUX=disabled”则已关闭该功能
    【内核优化部分】小白建议直接跳过修改内核配置文件“/etc/sysctl.conf”按需求自己添加下列优化参数
    [ol]
  • # 开启TCP BBR加速(需要内核高于4.9才可用)
  • net.core.default_qdisc = fq
  • net.ipv4.tcp_congestion_control = bbr
  • # 关闭IPv6
  • net.ipv6.conf.all.disable_ipv6 = 1
  • net.ipv6.conf.default.disable_ipv6 = 1
  • # 避免放大攻击
  • net.ipv4.icmp_echo_ignore_broadcasts = 1
  • # 开启恶意ICMP错误消息保护
  • net.ipv4.icmp_ignore_bogus_error_responses = 1
  • # 关闭路由转发
  • net.ipv4.ip_forward = 0
  • net.ipv4.conf.all.send_redirects = 0
  • net.ipv4.conf.default.send_redirects = 0
  • # 开启反向路径过滤
  • net.ipv4.conf.all.rp_filter = 1
  • net.ipv4.conf.default.rp_filter = 1
  • # 处理无源路由的包
  • net.ipv4.conf.all.accept_source_route = 0
  • net.ipv4.conf.default.accept_source_route = 0
  • # 关闭sysrq功能
  • kernel.sysrq = 0
  • # core文件名中添加pid作为扩展名
  • kernel.core_uses_pid = 1
  • # 开启SYN洪水攻击保护
  • net.ipv4.tcp_syncookies = 1
  • # 修改消息队列长度
  • kernel.msgmnb = 65536
  • kernel.msgmax = 65536
  • # 设置最大内存共享
  • kernel.shmmax = 68719476736
  • kernel.shmall = 4294967296
  • # TIME_WAIT套接字的最大数量
  • net.ipv4.tcp_max_tw_buckets = 6000
  • # 使用Selective ACK
  • net.ipv4.tcp_sack = 1
  • net.ipv4.tcp_window_scaling = 1
  • # TCP读写buffer优化
  • net.ipv4.tcp_rmem = 4096 87380 4194304
  • net.ipv4.tcp_wmem = 4096 16384 4194304
  • net.core.wmem_default = 8388608
  • net.core.rmem_default = 8388608
  • net.core.rmem_max = 16777216
  • net.core.wmem_max = 16777216
  • # 数据包最大设备队列
  • net.core.netdev_max_backlog = 262144
  • # 防止简单的Dos攻击
  • net.ipv4.tcp_max_orphans = 3276800
  • # SYN队列的长度
  • net.ipv4.tcp_max_syn_backlog = 262144
  • # 禁用时间戳
  • net.ipv4.tcp_timestamps = 0
  • # 放弃建立连接之前发送的SYNACK包数量
  • net.ipv4.tcp_synack_retries = 1
  • # 放弃建立连接之前发送的SYN包数量
  • net.ipv4.tcp_syn_retries = 1
  • # 启用TIME-WAIT sockets快速回收
  • net.ipv4.tcp_tw_recycle = 1
  • # 开启重用,允许将TIME-WAIT sockets重新用于新的TCP连接
  • net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_mem = 94500000 915000000 927000000
  • net.ipv4.tcp_fin_timeout = 1
  • # TCP发送keepalive消息的频度
  • net.ipv4.tcp_keepalive_time = 30
  • # 允许系统打开的端口范围
  • net.ipv4.ip_local_port_range = 1024 65000
  • # 修改防火墙表大小,默认65536
  • net.netfilter.nf_conntrack_max = 655350
  • net.netfilter.nf_conntrack_tcp_timeout_established = 1200
  • # 确保无人能修改路由表
  • net.ipv4.conf.all.accept_redirects = 0
  • net.ipv4.conf.default.accept_redirects = 0
  • net.ipv4.conf.all.secure_redirects = 0
  • net.ipv4.conf.default.secure_redirects = 0
  • [/ol]复制代码按需设置完毕后,保存该文件退出,输入“sysctl -p”使这些设置生效
    【安装宝塔系列】
    有些同学服务器是有数据盘,默认系统一般是没有挂载的,
    所以,这种有数据盘的服务器,我们需要先挂载数据盘,再进行安装宝塔
    宝塔挂载数据盘脚本【官方提供】:https://www.bt.cn/bbs/thread-3187-1-1.html
    挂载完成后,再使用官方脚本操作安装宝塔:https://www.bt.cn/bbs/thread-19376-1-1.html
    宝塔安装结束后,记得修改如下设置
    【SSH端口及初始密码】建议包含大写字母,小写字母,数字,特殊符号
    【面板控制端口】不要使用默认端口,建议改为5位数字的,最大不能超过65534
    【防火墙设置】删除掉已经修改过的默认端口放行规则
    【面板安全入口】设定一个只有自己知道的入口
    【面板SSL】打开https访问面板,http就无法访问面板了
    【BasicAuth或动态口令】进阶安全防护(觉得麻烦可以不设置)
    【其他】不要使用弱密码,包括FTP,网站后台,数据库,SSH

    宝塔, 服务器

  • 美文苑文学网   
    这么多命令。看多了眼花
    xbz0412
    OP
      
    美文苑文学网 发表于 2024-9-20 09:52
    这么多命令。看多了眼花


    emmmm........我竟无言以对
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部