此文以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(特别感谢下这些作者的无私态度!虽然去掉了付费功能,但是本身还是非常的强大啊!)

2015年4月30日更新,本宅已抛弃了moess和sspanel,改用了更加强大的whmcs销售系统,
详情请看:抛弃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以设置开机启动

N宅免费SS捐赠计划

从2016年9月18日起,N宅将不再提供付费服务,改为免费提供ss代理服务具体服务器信息请加QQ群127969311(点击加群)查看群公告或查看网站公告。 由于成本原因...

阅读全文

Tukey test 图基检验在小样本多组比较显著性分析中的应用——对比T test t检验

在谢宁方法(Shainin Approach)中,图基(Tukey)检验被广泛用于验证质量改进的有效性。Tukey检验的一个重要的优点是非常简单,而且所需实验样本相对较少。...

阅读全文

iOS苹果iphone、ipad、itouch等使用shadowsocks代理教程(已越狱)

Cydia中搜索shadowsocks然后安装即可,之后参考 http://blog.liujason.com/3118.html 中的相应内容进行设置即可。 挖坑中….过两天补齐…..orz 【懒

阅读全文

  1. 你好 博主,我的是CENTOS 搭建的SS服务,我也是新手。我想请教你怎么做CNETOS 为用了优化协议 不打算改了 LINODE服务器。我QQ3193266069

  2. Pingback: 伪技术の宅 » shadowsocks多用户前端面板moess的详细配置教程

  3. 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搭建,后端在美国 有影响吗? 怎么让前端时时开通,和关闭管理多个节点

  4. Pingback: Blue Coaster33

  5. Pingback: Centos下安装shadowsocks-manyuser 多用户版本详细教程 | 伪技术の宅

  6. 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