小 忆 博 客
有梦想,有精彩

配置shadowsocks多用户多节点管理(1)

目录

  1. supervisor的一些常用命令

众所周知由于国内的某些原因,无法访问google、twitter等网站。想要访问这些网站,当然少不了梯子,而shadowsocks就是起到梯子的作用,首先声明,本篇文章所涉及到的技术不得用于商业与以及违反国家法律的用途。

这个东西最近一直在折腾,遇到了很多问题,但在软件作者的github上都有解决方案,在研究过程中遇到问题,多去github上转转,总会找到解决方案的。

一、安装配置ss-spanel

ss-spanel是管理的web端,也就是网上很多人说的前端,先配置前端吧!

安装环境要求

ss-spanel是php写的,基于slim框架。它对服务器环境要求不高,但是你首先要有一台装有centos或ubuntu的vps

PHP 5.6或者更高(推荐php 7.1)

MySQL 5.5或者更高

Nginx或者Apache

推荐使用宝塔linux面板(对服务器资源消耗比较大,新手推荐使用)或者OneinStack

下载ss-spanel源码

Windows下使用putty连接到你服务器的ssh,Mac则使用系统自带的终端连接就可以了。

连接服务器之后,使用cd命令进入你站点的web根目录,使用git从github上clone源码

1
git clone https://github.com/orvice/ss-panel.git

你也可以使用ftp或者sftp传到web根目录上去

配置ss-panel

虽然把ss-spanel传到了你的web根目录上,但你打开网站却发现是403,这个是什么原因呢?由于ss-spanel是基于slim框架写的,所以入口文件没有在web根目录里面,而是在public里面,这个时候需要配置web服务器。

Nginx配置:

1
2
3
4
5
root /home/www/ss-panel/public;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

上面是官方文档里面的配置,如果你使用的是Apache,请参考官方文档

编辑完成之后,重启你的web服务器。当然这个时候你去访问,却还是发现500 Internal Server Error,无法访问。

为什么?为什么?为什么?其实我们还没安装ss-spanel的所需依赖库呢!

1
2
curl -sS https://getcomposer.org/installer | php
php composer.phar install

注意:上面的命令需要在你的web根目录里面执行!!!

等待安装完成之后呢!接着修改配置文件:

1
cp .env.example .env

将 .env.example 复制一份重命名为 .env,然后使用vim修改配置文件中的数据库信息。

1
vim .env

配置文件修改一下地方:

1
2
3
4
5
6
7
8
9
10
# database 数据库配置
db_driver = 'mysql'
db_host = 'localhost'
db_port = '3306'
db_database = 'ss-panel'
db_username = 'ss-panel'
db_password = 'xxxx'
db_charset = 'utf8'
db_collation = 'utf8_general_ci'
db_prefix = ''

这个时候可能有童鞋要问了,我们配置了数据库,需不需要在数据库中建立库和表啥的?当然需要,将根目录下的 db.sql 导入到数据库中即可。不会的自行百度!

导入数据库之后,我们还要去修改一下.env文件中的muKey字段。

1
muKey = 'xx-xxx-xxx' 随意修改成任何内容,但是需要记住它,后面会用到。

接下来,需要给storage目录权限:

1
chown -R www storage

这个时候你去访问你的网站就可以看到主页啦啦!!!

ss-spanel后台

首先在web服务器根目录下执行:

1
php xcat createAdmin

上面这个命令是创建管理员用户的,根据提示输入你的邮箱、密码。

现在访问你的网站http://你的域名/admin,填写你刚刚创建的账户就可以进入后台啦!

布置完成了?no no,下面咱去配置一下后端吧,后端使用的是shadowsocks-manyuser

部署配置shadowsocks-manyuser

注意:shadowsocks-manyuser是配置在能访问google、twitter等网站的服务器上(也需要是centos或者ubuntu的系统)。

安装shadowsocks-manyuser

连接上服务器的ssh之后,把源码clone下来:

1
git clone https://github.com/fsgmhoward/shadowsocks-py-mu.git

clone完成之后,使用cd进入shadowsocks-py-mu

配置shadowsocks-manyuser

进入shadowsocks目录:

1
2
cd shadowsocks
cp config_example.py config.py

然后修改config.py中的第15行和第29-30行

1
2
3
4
5
6
7
# 启用 MultiUser API
API_ENABLED = True

# 在你的站点地址后面加个 /mu
API_URL = 'http://ss.prinzeugen.net/mu'
#记得前面.env中的mukey吗?填入这里...
API_PASS = 'xx-xxx-xxx'

然后就不要修改什么东东啦,运行:

1
python servers.py

我们也shadowsocks连接看看,可能不行哟!因为…

防火墙配置

虽然servers.py是运行起来了,但防火墙还是把你阻隔了!

1
2
iptables -I INPUT -p tcp -m tcp --dport 你的端口 -j ACCEPT
iptables-save

开放注册呢?就这样配置:

1
2
iptables -I INPUT -p tcp -m tcp --dport 8888: -j ACCEPT
#如果8888是你第一个用户端口,这里就使用8888,如果不是,请修改...

然后我们在连接shadowsocks试试…如还遇到问题,请去github上看看…

后台运行并守护shadowsocks

关闭ssh连接,我们会发现ss-manyuser并没有继续运行了,这个时候需要我们去后台运行它,服务器重启是也能自动重启。

  1. 安装supervisor

    1
    yum install python-pip python-m2crypto supervisor
  2. 配置supervisor进程守护

    配置文件:/etc/supervisord.conf,使用vim打开。

    1
    2
    3
    4
    5
    6
    [program:ss-manyuser]
    command = python /root/shadowsocks-py-mu/shadowsocks/servers.py
    user = root
    autostart = true
    autorestart = true
    [supervisord]

    其中command里面的路径,请修改为自己的servers.py的路径

  3. 运行 supervisor 服务

    1
    supervisord

supervisor的一些常用命令

1
2
killall -HUP supervisord #关闭
supervisorctl {start|stop|restart} ss-manyuser #查看运行状态

这个时候呢!我们就可以完美的用它了。。。

如果你还要遇到什么问题,请加我QQ咨询我,也可以在下面留言,我看到了,会主动回复你的。过几天会在放出一个安装锐速的脚本吧!对了,还有关于多节点配置,我会放到下一篇博文介绍的…先这样啦!

ad