使用 Supervisor 运行 Shadowsocks

-- 2018-10-19 更新 --

Debian 9以后的版本已经可以直接开启BBR

1、修改系统变量

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

2、保存生效

sysctl -p

3、查看内核是否已开启BBR

sysctl net.ipv4.tcp_available_congestion_control

显示如下内容表示开启:

sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno

4、通过上面的操作应该已经启动了BBR。再看下BBR是否启动。

lsmod | grep bbr

显示以下即启动成功:

lsmod | grep bbr
tcp_bbr                20480  0

-- 2018-8-25 --

收集整理了一键安装脚本,放在了这个地方 → github

原脚本出处teddysun/shadowsocks_install

Server

安装平台:
CentOS: shadowsocks-libev-centos.sh
Debian/Ubuntu: shadowsocks-libev-debian.sh

目前脚本安装的版本是最新版本

安装(以debian为例)

wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/bravecheng/ShellScriptList/master/shadowsocks/shadowsocks-libev-debian.sh
chmod +x shadowsocks-libev.sh
./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log

卸载

./shadowsocks-libev.sh uninstall

管理

/etc/init.d/shadowsocks {start|stop|restart|status}

-- 以下为原文 --

首先感谢Shadowsocks的作者clowwindy给我们带来这么优秀的软件,帮助我们来跨越这高高地GFW。

如果想在后台运行 Shadowsocks,可以使用 Supervisor, 它可以方便地监控和控制任何程序,实现开机自动启动和后台运行。

编辑 /etc/shadowsocks.json

{
    "server":"0.0.0.0",
    "server_port":7325,
    "local_port":1080,
    "password":"my password",
    "timeout":600,
    "method":"aes-256-cfb"
}

记得改密码和服务端端口,不要用默认的。

Debian
执行

apt-get update
apt-get install python-pip python-m2crypto supervisor
pip install shadowsocks

编辑 /etc/supervisor/conf.d/shadowsocks.conf

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autorestart=true
user=nobody

如果端口 <= 1024,把上面的 user=nobody 改成 user=root。

在 /etc/default/supervisor 最后加一行:

ulimit -n 51200

执行

service supervisor start
supervisorctl reload

如果遇到问题,可以检查日志:

supervisorctl tail -f shadowsocks stderr

如果修改了 shadowsocks 配置 /etc/shadowsocks.json, 可以重启 shadowsocks:

supervisorctl restart shadowsocks

如果修改了 Supervisor 的配置文件 /etc/supervisor/*, 可以更新 supervisor 配置:

supervisorctl update

标签:none