基于centOS7 安装组件 1 2 3 $ yum install m2crypto python-setuptools $ easy_install pip $ pip install shadowsocks
安装完成后配置服务器参数 1 $ vi /etc/shadowsocks.json
写入如下配置:
1 2 3 4 5 6 7 8 9 10 11 { "server": "0.0.0.0", "server_port": 443, "local_address": "127.0.0.1", "local_port": 1080, "password": "mypassword", "timeout" 300, "method": "aes-256-cfb", "fast_open": false, "workers": 1 }
将上面的mypassword替换成你的密码, server_port也是可以修改的, 例如443是Shadowsocks客户端默认的端口号 如果需要修改端口,需要在防火墙里打开相应的端口,用firewalld操作就简单了
1 $ vi /usr/lib/firewalld/services/ss.xml
把下面的代码粘贴到里面
1 2 3 4 5 6 7 <?xml version="1.0" encoding="utf-8"?> <service> <short>SS</short> <description>Shadowsocks port </description> <port protocol="tcp" port="443"/> </service>
port可自定义,但是需要跟上面的server_port对应起来,保存退出,然后重启firewalld服务
1 2 $ firewall-cmd --permanent --add-service=ss $ firewall-cmd --reload
运行命令,启动Shadowsocks服务 1 $ ssserver -c /etc/shadowsocks.json
至此shadowsocks搭建完成,shadowsocks已经可以使用,如果你没有过高的要求,下面的步骤可以省略,下面是后台运行Shadowsocks的步骤。
安装supervisor实现后台运行 运行以下命令下载supervisor
1 $ easy_install supervisor
然后创建配置文件
1 $ echo_supervisord_conf > /etc/supervisord.conf
然后修改配置文件
1 $ vi /etc/supervisord.conf
在文件末尾添加
1 2 3 4 5 [program:ssserver] command = ssserver -c /etc/shadowsocks.json autostart = true autorestart = true startsec = 3
设置 supervisord 开机启动
在末尾另起一行添加
保存退出(和上文类似)。另 CentOS7 还需要为 rc.local 添加执行权限
1 $ chmod +x /etc/rc.local
至此运用 supervisord 控制 Shadowsocks 开机自启和后台运行设置完成。重启服务器即可 P.S. 如果当你在运行 supervisord 命令时出现以下的错误提示
1 2 3 'Supervisord is running as root and it is searching ' Error: Another program is already listening on a port that one of our HTTP Servers is configured to use. Shut this program down before starting supervisord. For help, use /usr/bin/supervisord -h
那是因为 supervisord 已经启动了,重复启动就会出现上面的错误提示