发布于2019-09-04 11:39 阅读(2547) 评论(0) 点赞(24) 收藏(5)
注:多用户版需配合ss-panel等前端(流控)使用,查看SS-Panel教程。
这篇文章主要说明ShadowsocksR后端的安装教程,这属于后端教程,前端教程请看这里,
SS-Panel教程特别声明!!!!!!!!!!!!!!!!!!!
此教程为多用户版,适合站长。如果你是个人使用,或不需要流控,请查看SSR服务端一键安装脚本
以下命令均以root用户执行,或sudo方式执行。
说明一下新手步骤:1.安装依赖;2.下载源码;3.修改数据库配置;4.设置脚本权限并运行脚本!!!
没了,真的没有了,就这么简单,千万别想复杂了。
首先你要有一个能够登陆你的vps服务器,并且能执行命令的软件,比如 xshell ,putty。点击名字即可下载软件。本文以xshell为例。
然后就可以输入下面的代码,一步一步来!一行一行来!
基本库安装:
centos:
yum install python-setuptools && easy_install pip
yum install git
ubuntu/debian:
apt-get install python-pip
apt-get install git
centos 系统执行这个:(本教程使用centos6.4 64 位)
- yum install python-setuptools -y && easy_install pip -y && yum install git -y
Ubuntu/debian系统执行这个:
- apt-get update && apt-get install python-pip -y && apt-get install git -y
安装cymysql
- pip install cymysql
获取源代码
- git clone -b manyuser https://github.com/breakwa11/shadowsocks.git
执行完毕后会新建一个shadowsock目录,其中根目录的是多用户版(即数据库版),子目录中的是单用户版
根目录即 /shadowsocks 文件夹
子目录即 /shadowsocks/shadowsocks 文件夹
服务端配置
进入根目录
- cd shadowsocks
- cp mysql.json usermysql.json
shadowsocks 目录内,打开文件 vi usermysql.json
注意:这里的数据库信息除了 host ,其他的必须和SS-Panel完全一致,服务端启动的时候会读取数据库信息!
- "host": "127.0.0.1", //前端mysql域名/IP**一般不需要改动
- "port": 3306, //mysql端口
- "user": "ss", //mysql用户名
- "password": "pass", //mysql密码
- "db": "shadowsocks", //数据库名
配置文件config.json
文件config.json复制一份到user-config.json,然后编辑:
- cp config.json user-config.json
- vi user-config.json
- "method":"aes-256-cfb", //修改成您要的加密方式的名称,默认即可
"protocol": "auth_sha1_compatible", //修改成您要的协议插件名称, "obfs": "http_simple_compatible",//修改成您要的混淆插件名称,
注意,上面的obfs http_simple_compatible 这个就是混淆的,如果你想用来欺骗上网,就要用这个了,比如在混淆中改成www.baidu.com
ps:shadowsocksR 多用户版服务端默认开启udp的
服务端运行与停止
进入根目录:
- cd shadowsocks
运行:
- python server.py
这句运行代码用于调试,关闭ssh后自动关闭,所以正式使用请使用下面的脚本运行!如果停止请按ctrl+c终止。
这时可以检查情况,如果服务端没有错误,可是连不上,需要检查iptables或firewall(centos7)的防火墙配置
通过脚本运行
脚本位于。/shadowsocks 目录 。代码如下:
- cd ./shadowsocks //定位到ss目录
- chmod +x *.sh //增加脚本权限
- ./run.sh //后台运行
- ./logrun.sh //后台运行且记录日志
- ./tail.sh // 查看ss日志
- ./stop.sh //停止运行
注:日志会保存在根目录ssserver.log ,,可手动查看
如果感觉太大,可使用下面的命令来清空日志文件
- cat /dev/null > ssserver.log
更新源代码
如果代码有更新可用本命令更新代码
- cd shadowsocks
- git pull
成功后重启ss服务
开机启动
可需要可不需要
centos系统
- chmod +x /etc/rc.d/rc.local
- vi /etc/rc.d/rc.local
Ubuntu/debian系统
- chmod +x /etc/rc.local
- vi /etc/rc.local
然后再 exit0 这句代码的前面加上下面的代码
- sudo /root/shadowsocks/run.sh
然后按 esc 键退出编辑 输入 :wq 保存文件
修改防火墙
centos6方法(其他系统自行百度谷歌)
首先打开防火墙规则文件
- vi /etc/sysconfig/iptables
删除原来的3306规则(ACCEPT和DROP),然后加上这个规则
- -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
然后重启iptables
- /etc/init.d/iptables restart
debian7的方法
- vi /etc/iptables.rules //打开防火墙文件
- -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT //加入这个规则
- iptables-restore < /etc/iptables.rules //重载iptables服务
解决防火墙问题
上文提到当你在运行的时候,发现服务器端没有问题,不报错,可是你就是链接不上,一般是防火墙在搞鬼(多出现在centos系统)
- iptables -L
看一下有没有东西阻止了ss端口,或者是没有开放端口
如果看不懂,可以先关闭防火墙,试一试是不是防火墙导致的
关闭防火墙命令
- /etc/init.d/iptables stop
如果关闭之后正常了,那必定是防火墙在搞鬼,可以以后慢慢排除防火墙规则,或者直接就不管关闭就好了
常见问题
如果运行一段时间,你发现服务器无法连接,但是ssh能够上去,执行
- netstat -ltnap | grep -c CLOSE_WAIT
显示的数值很大(超过50就严重不正常了),那么请修改服务器最大连接数
- /etc/security/limits.conf
添加两行
- * soft nofile 32768
- * hard nofile 131072
然后重启机器生效
作者:天青色等烟雨
链接:https://www.pythonheidong.com/blog/article/88807/24d08ef76997364c2a2f/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!