之前一直有博主要求整理下 VPS 主机优化方法,那么如果你是 VPS 主机(Linux),可以尝试一下了,尤其是 linux 系统的内核参数优化。
一、增加 SWAP 分区
VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。每个 VPS 都可分配独立公网 IP 地址、独立操作系统、独立超大空间、独立内存、独立执行程序和独立系统配置等。
下面是配置过程中的一些笔记:
VPS 只有一个根分区,没有 swap 交换分区。VPS 内存不大,于是,我为其增加了一个 swap 交换文件。
1、进入一个目录
cd /var/
2、获取 256M 的文件块:
dd if=/dev/zero of=swapfile bs=1024 count=262144
3、创建 swap 文件
/sbin/mkswap swapfile
4、激活 swap 文件
/sbin/swapon swapfile
5、查看一下 swap 是否正确:
/sbin/swapon -s
6、加到 fstab 文件中让系统引导时自动启动
vi /etc/fstab
在末尾增加以下内容:
/var/swapfile swap swap defaults 0 0
Ps:这个方法在玛思阁以前的文章同样整理过,详见:给已安装的 Linux 新增 Swap 交换分区。
——————————————————————————–
二、修改 Linux 系统时区
系统默认为美国东部时间,修改 Linux 时区为东八区
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
以上摘自:http://www.jb51.net/article/16732.htm
三、Linux 内核参数优化
Linux 内核参数优化可以使用 sysctl 命令完成,但是命令只能临时生效,若要永久保留配置,我们就得编辑 sysctl.conf 这个文件了。先附上 sysctl.conf 详细参数说明
sysctl.conf 文件中参数设置及参考推荐值
需要优化的朋友,可以参考上面的参数说明,并根据服务器实际负载来定制你的 sysctl.conf 文件,下面贴上一个针对 nginx 内核参数优化的例子,仅供参考(待补充):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 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 net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_keepalive_time = 30 net.ipv4.ip_local_port_range = 1024 65000 |
将以上代码添加到 sysctl.conf 文件的最后,然后执行/sbin/sysctl -p 即可生效。
三、关闭多余 tty,释放内存
linux 默认会启动 6 个 TTY 控制台,都需要常驻占用内存(1tty 占用 4M 多的样子),事实上没必要需要使用这么多 tty,个人 vps,仅需 1~2 个 tty 即可。
Centos5.* 设置 tty 数量:
①、编辑 /etc/inittab,找到 tty [1-6] 改成 tty [1-2]
②、编辑 /etc/sysconfig/init,同样将 tty [1-6] 改成 tty [1-2]
重启系统即可生效(建议先不重启,等后续操作完成一起重启即可);
CentOS 6.* 设置 tty 数量:
CentOS 6.0 开始 TTY 的配置由 /etc/inittab 更改为 /etc/init/start-ttys.conf,所以上面的第①步变为:
①、编辑 /etc/init/start-ttys.conf,找到 tty [1-6] 改成 tty [1-2]
②同上编辑即可
四、关闭 ipv6
ipv6 一般都用不到,完全关闭即可。
编辑 /etc/modprobe.d/dist.conf 文件,在最后追加:
alias net-pf-10 off
alias ipv6 off
然后重启系统即可(某些发行版可能是/etc/modprobe.conf 文件)。
五、关闭多余启动项
执行 chkconfig –list | grep :on 列出启动项:
然后找到不需要启动的项目,执行 chkconfig 程序名 off 即可.
比如,ip6tables 是 ipv6 防火墙,用不到,执行 chkconfig ip6tables off ,然后执行 service ip6tables stop 即可彻底关闭 ip6tables 这个多余进程。
其余进程,请先查清楚作用,再来操作,以免出错。
暂时就整理这么多,后续发现更多的优化设置,再来追加~