欢迎访问我的博客,你的支持,是我最大的动力!

部署自用SS服务

其它 小马奔腾 15180℃ 评论
目录:
[显示]

为查询资料需要,部署自用ss服务,这里将部署流程整理,以备后查。

主要区分为以下几个步骤:

基本思路

这里使用的是基于python2.7的采用mysql数据库的多用户ss,对数据库的管理使用phpmyadmin。环境使用的是VULTR日本机房的VPS,环境为CentOS7.2+Docker。这下就简单了:

ss源码:python2.7(系统自带);supervisor(进程管理,用于异常退出的自动重启)

数据库:mysql(直接用docker)

phpmyadmin:php+apache+phpmyadmin(直接用docker)

mysql数据库

使用数据库为mysql,直接使用Docker的镜像。

因为需要将数据库真实文件映射到外部目录,防止容器删除后丢失数据,所以建立外部空目录,并做挂载。

容器别名这里命名为mysql;将外部目录/ssserver/db挂载为容器内的/var/lib/mysql,这样可以方便的保存和管理数据库文件;数据库root用户密码设置为:mysqlpasswd;将mysql的3306端口映射到外部,也为3306;在docker服务启动时,自动启动容器,所以这里使用restart=always方式;将容器注册为deamon;使用镜像mysql:latest创建容器。

接下来进入容器,创建数据库shadowsocks并恢复初始数据。

恢复初始数据,这里已提前将shadowsocks.sql文件上传至外部目录/ssserver/db,在容器内则是/var/lib/mysql

这样,数据库这一块就完成了

ss程序部分

ss程序本来也想放到容器里面跑的,但是想着做起来比较麻烦,并且linux默认就有python的执行环境,放外面跑更简单。

为了防止出现ss意外中止的情况,使用进程管理工具supervisor来做监控,负责在ss进程意外中止,或者出错后,可以自动重启服务,提高服务稳定性。

处理ss依赖:

部署ss程序代码

程序我放到我的github下面了,包括客户端(包括电脑和手机)软件,点此下载

这样,代码就会存在/ssserver/shadowsocks目录

修改配置文件/ssserver/shadowsocks/Config.py

#Config
MYSQL_HOST = '000.000.000.000'
MYSQL_PORT = 3306
MYSQL_USER = 'root'
MYSQL_PASS = 'mysqlpasswd'
MYSQL_DB = 'shadowsocks'

MANAGE_PASS = 'ss233333333'
#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

 

配置supervisor

创建日志目录(实际不会生成日志文件)

修改配置文件/etc/supervisord.conf或者在/etc/supervisord.d/目录下新建一个ini文件,这里我使用后者

[program:shadowsocks]
command=nohup python /ssserver/shadowsocks/server.py -c /ssserver/shadowsocks/config.json &
autostart=true
autorestart=true
user=root
log_stdout=true
log_stderr=true
logfile=/var/log/ssserver/shadowsocks.log
logfile_maxbytes=5MB
logfile_backups=10
配置防火墙

phpmyadmin部分

phpmyadmin运行需要php的环境,前面刚好用到了wordpress的镜像,那这里直接借用wordpress的,在其网站根目录下建一个子目录,放phpmyadmin。

 

先把镜像拉下来

建一个外部目录,放网页文件

容器起名为phpmyadmin;将外部目录/ssserver/phpmyadmin与内部目录/var/www/html做映射挂载;容器随docker服务的启动而启动;将apache的80端口映射到外部,也为80;将容器注册为deamon;使用镜像wordpress:4.8.0-php5.6-apache创建容器。

phpmyadmin要连接mysql数据库,需要修改一下配置文件:

修改第31行,将

$cfg['Servers'][$i]['host'] = 'localhost';

改为:

$cfg['Servers'][$i]['host'] = 'mysql';

 

浏览器输入http://yourip/phpmyadmin就可以管理数据库啦

 

转载请注明:轻风博客 » 部署自用SS服务

喜欢 (0)or分享 (0)