相对于 VPN 而言, Shadowsocks 更为轻量方便,安装配置过程极其简单。而客户端也在各种平台遍地开花。感谢 @clowwindy 给我们带来一款如此好用的软件。

下面说说 Shadowsocks 的优化。请务必先将 Linux 内核升级到 3.5 或以上。

编辑 limits.conf

sudo nano /etc/security/limits.conf

加入这两行

* soft nofile 51200
* hard nofile 51200

启动 shadowsocks 之前,设置以下参数 ulimit -n 51200

先载入 tcp_hybla 模块(注意,OpenVZ 虚拟化主机这步将会出错,因为 OVZ 主机不能动内核)

sudo /sbin/modprobe tcp_hybla

 

调整内核参数

sudo nano /etc/sysctl.conf

fs.file-max = 51200
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla

修改后执行 sudo sysctl -p 使配置生效

安装锐速

修改锐速的3个参数

nano /serverspeeder/etc/config

rsc="1" #RSC网卡驱动模式 
advinacc="1" #流量方向加速 
maxmode="1" #最大传输模式

 最后重启锐速

sudo service serverSpeeder restart

(本文假设你在使用 Debian 系操作系统,如 Debian,Ubuntu 等,本文实际操作环境为 Ubuntu 14.04.3 LTS)

安装 PHP 7

假如您曾使用过 HHVM 或者 PHP 5,您可以考虑先将其卸载

sudo apt-get purge php5*
sudo apt-get purge hhvm*

卸载过后正式开始安装

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0-fpm
sudo apt-get install php7.0-mysql
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-curl
sudo apt-get install php7.0-dev
sudo apt-get install php7.0-mbstring

你以为还有很多步骤?不好意思,PHP 7 的安装到此为止了 – – 就这么简单。

重新配置 Nginx

对于 HHVM 用户,请先把 Nginx 配置中的 include hhvm.conf 去掉

然后加入以下字段

        location ~ \.php$ {
                try_files $uri =404;
                include fastcgi.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

最后的步骤

最后没啥好说的,无非就是重启 PHP-FPM 还有重载 Nginx 而已

sudo /etc/init.d/php7.0-fpm restart
sudo nginx -s reload

Enjoy!

 

(本文源自 用shell脚本实现监控程序自动重启 ,并在其基础上做了一些改动,感谢在 CSDN 上的原作者 loveheronly

 

因为舰娘群里有个 dalao 的 bot 托管在我的 VPS 上经常挂,导致我需要经常手动上去重启它。

昨晚被 HJC 聚聚骂醒了说,“劳伦斯你就是懒得写脚本”,“不会就去学呀”。

想来也对,与其次次被人发现挂了以后手动重启还不如去学学怎么写脚本。

于是在百度上博众家之长,便有了这篇东西

 

代码实现


这个 Shell 的作用主要是实现监控某个程序崩溃之后就自动重启。


#!/bin/bash
while true
do
procnum=` ps -ef|grep "Ooyodo"|grep -v grep|wc -l`
if [ $procnum -eq 0 ]; then
/home/lawrence/ooyodo-bot/Ooyodo
fi
sleep 30
done

脚本解读


procnum 用于判断 Ooyodo 这个进程是否在运行。

– eq 0 是 等于 0 的意思 。

这是个循环运行的脚本,每隔 30s 就检查 procnum 的值,如果 procnum = 0 (意为 Ooyodo 这个进程没有运行),则启动 /home/lawrence/ooyodo-bot/Ooyodo

 

运行脚本


脚本写好以后,在运行前需要为它赋予相应的操作权限(此处假设脚本名为 run_start.sh)

chmod 777 run_start.sh

使用以下命令启动

./run_start.sh &

记得加上&,不然窗口会话结束,脚本也会跟着结束。

 

注意事项


如果脚本是在 Windows 下编写的,那么在 Linux 下运行的时候可能提示-bash: ./run_start.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录 ,这是因为 Linux 无法识别 Windows 的DOS 格式。如果遇到 bad interpreter 的错误,请务必对字符做一下转换,方法如下:

1)编辑出错文件
vi run_start.sh

2)查看该格式(报错文件格式是 DOS )
:set ff
3)修改格式
:set ff=unix

4)保存退出
:wq

这时再重新运行脚本,应该就可以正常运行了

设置开机自动启动


 

修改 /etc/rc.local 并在文件末尾添加一行

/home/lawrence/ooyodo-bot/run_start.sh &

(此处替换为脚本所在的路径)

 

后话(另一段脚本)


群里的 dant 聚聚给出了另外一段 Shell 脚本,也能达到同样的效果

此处给出代码,具体就不解释了


#!/bin/bash
while true
do
/home/lawrence/ooyodo-bot/Ooyodo
sleep 3
done