最近一段时间接触的CentOS 7和Debian 8都换成了Systemd作为系统服务的管理程序,于是根据SSR Wiki写了个服务控制脚本,放这里备忘。
我的SSR路径是 /usr/local/ssr,SSR单机版配置文件是 /etc/ssr.json。
服务控制文件路径位于/lib/systemd/system,新建并编辑ssr.service
1 |
nano /lib/systemd/system/ssr.service |
单用户版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[Unit] Description=Start or stop the ShadowsocksR server After=network.target Wants=network.target [Service] Type=forking PIDFile=/var/run/shadowsocks.pid ExecStart=/usr/bin/python /usr/local/ssr/shadowsocks/server.py --pid-file /var/run/shadowsocks.pid -c /etc/ssr.json -d start ExecStop=/usr/bin/python /usr/local/ssr/shadowsocks/server.py --pid-file /var/run/shadowsocks.pid -c /etc/ssr.json -d stop [Install] WantedBy=multi-user.target |
多用户版(mudbjson)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[Unit] Description=ShadowsocksR server After=syslog.target After=network.target [Service] LimitCORE=infinity LimitNOFILE=512000 LimitNPROC=512000 Type=simple WorkingDirectory=/usr/local/ssr ExecStart=/usr/bin/python /usr/local/ssr/server.py m ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID Restart=always [Install] WantedBy=multi-user.target |
Ctrl+O文件保存后,Ctrl+X退出nano,执行 systemctl daemon-reload 刷新守护进程。
使用命令如下:
启动服务: systemctl start ssr
停止服务: systemctl stop ssr
重启服务: systemctl restart ssr
设置自启: systemctl enable ssr
取消自启: systemctl disable ssr
我个人喜欢用系统里面比较【正统】的方法来做一些实现,所以其实更简单的是在 /etc/rc.local 的 exit 0 之前加入一句
1 2 |
单用户版本:/usr/bin/python /usr/local/ssr/shadowsocks/server.py -c /etc/ssr.json -d start 多用户版本:/bin/bash /usr/local/ssr/logrun.sh |
就好了……不用搞这么复杂的。
BTW,
吐槽一下,我的8刀阿里HKB今天零点就要到期了,8刀的日子将要一去不复返,但是看在CN2的份上,重新买了个月付19刀的HKC……算了一下100多块钱换得一个畅快的科学上网体验还是可以的~ 不过令人蛋疼的是,家里CMCC光纤访问HKB/HKC要绕路、会丢包、感觉卡……还好还有GCE助攻……我想吐槽CMCC线路GCE东亚节点为啥要绕日本……
-EOF-
-
——————–
引用参考/Reference:
Shadowsocks-rss@github: System startup script
Shadowsocks-rss@github: Server Setup
Shadowsocks-rss@github: Server Setup(manyuser with mudbjson)
这是酸酸,不是酸酸乳啊,兄得
满屏幕写满了SSR为啥你就没看到呢……