centos7安装shadowsocks服务端并用supervisor守护

首先记住无论 Shadowsocks 有几种版本,都分为服务端和客户端,服务端是部署在服务器(VPS)上的,客户端是在你的电脑上使用的(或者说Linux服务器要和国外的网络互通也是可以在Linux上安装ss客户端的)。

VPS主机我们可以采用搬瓦工的机器或者用其他更好的路子有国外机器也行。由于现在网上查资料比较费事,作为一名运维,需要了解掌握下如何通过更好的方式查阅更有效的资料。
本次需要安装supervisor和shadowsocks(后面简称ss),用它来作为ss的守护进程。避免ss挂掉。服务器不在中国大陆而在国外。你懂的!
注意:
supervisor目前只支持2.x版本的python,不支持3.x版本
centos7.x自带python是2.7.5版本。因此可以选择不升级python到2.7.13版本。
直接上脚本,自己写的难免有些low,大牛勿喷。可修改完直接在评论里,Thanks very much!
vim shadowsocks_install_centos7.sh

#!/bin/bash
#__Author__: Allen_Jol
#__Date__: 2017-11-01

#新centos7系统做一些初始操作准备
function prepare(){
yum clean all && yum makecache
yum -y install python-pip
pip install --upgrade pip
}

#更改pip为清华大学镜像站源
function change_pip_source(){
if [ -f "/root/.pip/pip.conf" ];then
mv /root/.pip/pip.conf /root/.pip/pip.conf.bak
echo "">/root/.pip/pip.conf
cat>>/root/.pip/pip.conf<<EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF
else
mkdir -p /root/.pip/
cat>>/root/.pip/pip.conf<<EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF
fi
}

#开始安装依赖、supervisor、小飞机shadowsocks
function install_ss_super(){
pip install pyopenssl ndg-httpsclient
pip install shadowsocks
pip install supervisor
echo_supervisord_conf > /etc/supervisord.conf
mkdir -p /etc/supervisor/conf.d/
sed -i 's@\;\[include\]@\[include\]@g' /etc/supervisord.conf
sed -i 's@\;files \= relative\/directory\/\*\.ini@files \= \/etc\/supervisor\/conf.d\/\*\.conf@g' /etc/supervisord.conf
supervisord -c /etc/supervisord.conf
echo "/usr/bin/supervisord -c /etc/supervisord.conf" >>/etc/rc.local
}

#创建小飞机shadowsocks客户端验证的配置文件
function ss_config(){
cat >/etc/shadowsocks.json<<EOF
{
    "server":"0.0.0.0",                 
    "server_port":your port,                 
    "local_address":"127.0.0.1",        
    "local_port":1080,                  
    "password":"your passwd",      
    "timeout":600,                     
    "method":"aes-256-cfb"  
}
EOF
}

#创建用于supervisor管理的配置文件。参数值可自行修改
function super_cofig(){
cat >/etc/supervisor/conf.d/ssserver.conf<<EOF
[program:ssserver]
command=/usr/bin/ssserver -c /etc/shadowsocks.json 
numprocs=1
autostart=true
autorestart=true
startretries=10
stopsignal=QUIT
stopwaitsecs=10
user=root
directory=/usr/local/bin
redirect_stderr=true
stdout_logfile=/var/log/ssserver.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=1
EOF
}

#启动supervisor守护ssserver进程
function ss_start(){
/usr/bin/supervisorctl reread
/usr/bin/supervisorctl update
}

function main(){
prepare
change_pip_source
install_ss_super
ss_config
super_cofig
ss_start
}
main
安装完成后用supervisorctl status查看服务状态是否running。running表示正常。
 

版权声明:
作者:allenjol
链接:https://www.ayunw.cn/archives/552
来源:爱生活,爱运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>