3-14 4,618
此文以debian(ubuntu)为例,centos请看http://blog.liujason.com/archives/2937
倒腾shadowsocks最开始是因为玩舰娘需要日本的ip,苦于岛风go实在太卡且相比自己搭建贵很多(10个好友一起用就能把月单价降到3块),于是就开始考虑自行搭建shadowsocks。参考了挺多文章教程,终于整理出了一套完整的安装流程,这里和大家分享一下。要知道由于之前那些博文的某些小错误,让我着实吃了不少亏,重装了不少次(窝比较喜欢纯净的系统,所以。。)。这里我可以和大家保证,以下流程绝对没有任何错误(debian/Ubuntu系统下,完全按照我的流程来即可。centos的话请把apt-get换成yum,然后supervisor的配置文件路径为/etc/supervisord.conf 还有源需要更换一下,具体的看文章最后)
这篇文章主要是记录下我设置Shadowsocks后端(以debian为例,Ubuntu和debian几乎完全一样)的详细配置命令。
首先是服务器系统的配置,我目前的后端服务器有三种系统——centos、debian、Ubuntu,[email protected]manyuser,[email protected] 的开源项目moeSS(特别感谢下这些作者的无私态度!虽然去掉了付费功能,但是本身还是非常的强大啊!)
详情请看:抛弃ss-panel 改用whmcs管理shadowsocks-manyuser(附接口插件模块)
1、获取最新软件列表
因为Debian6默认是很古老的软件,所以我们需要先更新一下源。
apt-get update
2、安装后端所需要的依赖软件包
apt-get install python-pip git python-m2crypto
pip install cymysql
3、安装Shadowsocks
git clone -b manyuser https://github.com/mengskysama/shadowsocks.git
4、安装supervisor进程守护
这样可以不用长时间开启SSH连接,即使断开SSH后端也会继续运行下去,亦可用screen来运行。
apt-get install python-pip python-m2crypto supervisor
5、配置Shadowsocks默认数据库信息
cd /root/shadowsocks/shadowsocks #此处目录请自行修改
vim Config.py
MYSQL_HOST = ‘127.0.0.1’ #前端数据库地址
MYSQL_PORT = 3306 #前端数据库端口
MYSQL_USER = ‘ss’ #前端数据库用户名
MYSQL_PASS = ‘abcd123′ #前端数据库密码
MYSQL_DB = ‘ss’ #前端数据库 库名
MANAGE_PASS = ‘a1234567′ #随意填写一些字符
#if you want manage in other server you should set this value to global ip
MANAGE_BIND_IP = ‘127.0.0.1’
#make sure this port is idle
MANAGE_PORT = 23333
修改完毕之后可以运行一下,看下有没错误,启动命令:python server.py(Ctrl+C结束运行)
6、配置supervisor进程守护
在目录/etc/supervisor/conf.d/下, 新建一个文件,名字:shadowsocks.conf
在shadowsocks.conf文件里编辑添加:
[program:shadowsocks]
command=python /root/shadowsocks/shadowsocks/server.py -c /root/shadowsocks/shadowsocks/config.json #/此处目录请自行修改
autorestart=true
user=root
7、修改以下文件
/etc/profile
/etc/default/supervisor
在文件结尾处添加以下3行内容
ulimit -n 51200
ulimit -Sn 4096
ulimit -Hn 8192
8、启动软件
service supervisor start #启动
supervisorctl reload #重载
9、debug查看连接日志等
supervisorctl tail -f shadowsocks stderr #Ctrl+C 取消查看
之后就可以断开SSH连接,后端还是会继续运行
*注:manyuser 版Shadowsocks默认的加密模式是:rc4-md5 如需修改请自行编辑/shadowsocks/shadowsocks/config.json的method项,其余请勿修改。
**注2:这里附上supervisor的控制命令,共大家扩展设置
启动 supervisor supervisord
打开命令行 supervisorctl
获得所有程序状态 supervisorctl status
关闭目标程序 supervisorctl stop shadowsocks(换成你需要的程序)
启动目标程序 supervisorctl start shadowsocks(换成你需要的程序)
关闭所有程序 supervisorctl shutdown
==============================
补充一下供自己使用
centos因为官方源没有加入很多东西,所有如果出现各种找不到安装包的情况,执行以下操作:
yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
pip install cymysql supervisor
上面用pip安装的shadowsocks是单用户版的,只是为了借道安装各类依赖包
执行到supervisor的步骤时,需要创建配置文件 echo_supervisord_conf > /etc/supervisord.conf 在配置文件中放入shadowsocks的配置 然后在/etc/rc.local添加supervisord以设置开机启动
你好 博主,我的是CENTOS 搭建的SS服务,我也是新手。我想请教你怎么做CNETOS 为用了优化协议 不打算改了 LINODE服务器。我QQ3193266069
linode是日本节点吗?centos和debian差不多,只有几个地方需要修改
我也是centos请问如何安装ss服务端呢,还有moess改怎么安装啊
centos也一样的,安装好shadowsocks后安装supervisor就好了
centos命令不一样啊,需要具体的命令啊,还有就是moess安装后出现502环境是用的lnmp安装包
….看来你完全外行啊。。。centos的话和debian差不多的,缓存yum就好了,然后supervisor稍有不同而已,等有空再来指导你吧
centos也一样,我也有centos的主机,同样安装supervisor就好,设置稍有不同
同折腾后端半天,重装不下百次=_=,请问清明有时间么,可以指导一下我么,么么哒,MYQQ:1126645013
已经商用半个月了~按照我的步骤来就没有问题了
Pingback: 伪技术の宅 » shadowsocks多用户前端面板moess的详细配置教程
安装之前需要准备好lnmp环境吗?
前端当然需要,这里讲的是后端服务器那里的配置方法
哦了
centos 到 [program:shadowsocks]command=python /root/shadowsocks/shadowsocks/server.py -c /root/shadowsocks/shadowsocks/config.json #/此处目录请自行修改autorestart=trueuser=root这个步骤就失效了 没有这个目录和文件 /etc/supervisor/conf.d/shadowsocks.conf下,用vim 或者vi 都是占用
centos的supervisor配置和debian不同,需要创建配置文件:echo_supervisord_conf > /etc/supervisord.conf然后编辑:vi /etc/supervisord.conf写入相应配置即可
到启动的时候 Starting supervisor: Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.For help, use /usr/bin/supervisord -h前端在国内VPS搭建,后端在美国 有影响吗? 怎么让前端时时开通,和关闭管理多个节点
没有影响的,你先把shadowsocks关掉,然后再开supervisor
MANAGE_PASS = ‘ss233333333’#if you want manage in other server you should set this value to global ipMANAGE_BIND_IP = ‘127.0.0.1’#make sure this port is idleMANAGE_PORT = 23333这几个配置是什么意思? 能描述下马
Pingback: Blue Coaster33
Pingback: Centos下安装shadowsocks-manyuser 多用户版本详细教程 | 伪技术の宅
supervisorctl tail -f shadowsocks stderr后显示显示无法连接数据库,我查了下参数都是对的,大概是什么情况- -
数据库的端口有没有开?
[email protected]129:~/shadowsocks/shadowsocks# python server.pyINFO: loading config from config.jsonshadowsocks2015-06-23 15:02:16 ERROR [Errno 98] Address already in useTraceback (most recent call last): File “/root/shadowsocks/shadowsocks/server_pool.py”, line 64, in _loop mgr.add_to_loop(loop) File “/root/shadowsocks/shadowsocks/asyncmgr.py”, line 49, in add_to_loop self._sock.bind((Config.MANAGE_BIND_IP, Config.MANAGE_PORT)) File “/usr/lib/python2.7/socket.py”, line 224, in meth return getattr(self._sock,name)(*args)error: [Errno 98] Address already in useUnhandled exception in thread started by Traceback (most recent call last): File “/root/shadowsocks/shadowsocks/server_pool.py”, line 71, in _loop os.exit(0)AttributeError: ‘module’ object has no attribute ‘exit’2015-06-23 15:02:16 INFO db start server at port [50000] pass [0000000]2015-06-23 15:02:16 INFO start server at 50000^CTraceback (most recent call last): File “server.py”, line 22, in time.sleep(99999)KeyboardInterrup