这是一个sspanel v3 配置的完整教程,我用的是lnmp框架,当然lamp也是可以的,安装lnmp的过程我就不说了。

一,安装ss-panel

首先我们进入网站目录

cd /home/wwwroot/ss.iforday.com

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

cp -R ss-panel/. ./
cp .env.example .env
vim .env

按照提示输入你数据库信息和站点信息,保存
如果你启用了redis,那么要安装redis
Centos7:(Centos6要自行安装epel源,我懒得写了)

wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/e/
rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-*.rpm
yum install redis -y

Debian/Ubuntu:

apt-get install redis-server -y

然后启动redis

systemctl start redis.service

测试redis

redis-cli ping

看到PONG就是测试通过
安装composer

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

如果像这样报错

可以试试使用php composer.phar update
把目录下的db-160305.sql(文件名不一定,大致这样)导入数据库
可以通过phpmyadmin实现
添加管理员账号:

php xcat createAdmin

按提示填写信息即可

然后给文件权限:

chmod -R 777 storage

lnmp需要给www用户访问目录权限:

chown -R www /home/wwwroot/ss.iforday.com/

到这里我们对网站目录下的配置就完成了
下面我们对nginx的配置进行修改
我们进入nginx的conf目录,修改网站的配置文件
在root /home/wwwroot/ss.iforday.com后面加入/pubilc
在下面加入

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


保存退出,重启nginx:

service nginx reload

这时候前端已经搭好,你的网站已经可以正常访问,下面我们进行后端(manyuser)的配置

二,安装shadowsocks manyuser

首先要授权远程访问mysql:
在数据库所在的机器执行mysql -uroot -p
输入你的数据库密码,执行use mysql;
再输入:

grant all privileges on *.* to '数据库名'@'manyuser所在ip'identified by '密码' with grant option;

按Ctrl + C 退出mysql控制台
shadowsocks-manyuser有许多版本:

ssr版:

git clone -b manyuser https://github.com/breakwa11/shadowsocks.git

rm版:

git clone -b manyuser https://github.com/mengskysama/shadowsocks-rm.git

普通版:

git clone -b manyuser https://github.com/mengskysama/shadowsocks.git

我推荐使用shadowsocks-rm

我们下载shadowsocks-rm的源码

git clone -b manyuser https://github.com/mengskysama/shadowsocks-rm.git

安装pip包管理器

Centos:

yum install python-pip -y

Debian:

apt-get install python-pip -y

安装cysql:

pip install cymysql

进入文件夹:

cd shadowsocks-rm
cd shadowsocks

修改config:

vim config.py


将刚才在sspanel配置文件中填的数据库地址填到这,下面的SS_METHOD是加密方式,可以自行修改
然后执行python servers.py

像这样就是成功了,如果不行,多半是端口没开或者sspanel中没给流量...

如果你感觉 root:db loop 看起来不爽,你可以在config.py下面找到LOG_ENABLE,改成True就不会出现了

然后你会发现ssh一断开,服务端也就关闭了,所以我们通过screen保持他在后台运行

screen -S ss
python servers.py

在这里我们还需要打开iptables的防火墙:
举个栗子,通过下面的代码可以打开10000到20000之间的所有端口

 iptables -I INPUT -p tcp -m tcp --dport 10000:20000 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

然后别忘了保存和重启iptables
service iptables save
service iptables restart

ssr版的manyuser在第一层文件夹下,其他版本都在第二层下,配置过程大同小异,我就不写了

shadowsocks-rm和ssr默认是支持UDP的,普通的manyuser对UDP支持不好,属于NAT3,并且需要手动开启,不推荐使用...

三,用Supervisor守护ss-manyuser进程

1.先安装supervisor

由于前面配置ss-manyuser已经安装了epel和python-pip,所以这里就不安装了

pip install supervisor

2.创建配置文件:

echo_supervisord_conf > /etc/supervisord.conf

如果遇到下面这样的问题,可以手动安装meld3

方法如下:

git clone https://github.com/Supervisor/meld3
cd meld3
python setup.py install

然后再执行echo_supervisord_conf > /etc/supervisord.conf就行了
3.修改配置文件
vim /etc/supervisord.conf
在最后面加入

[program:ss]
command = python /root/shadowsocks-rm/shadowsocks/servers.py
user = root
autostart = true
autorestart = true

注意把python /root/shadowsocks-rm/shadowsocks/servers.py改成你manyuser所在的路径

4.为了方便管理,我们可以添加到添加自动启动服务:
vim /etc/init.d/supervisord

#!/bin/bash
#
# supervisord   This scripts turns supervisord on
#
# Author:       Mike McGrath <mmcgrath@redhat.com> (based off yumupdatesd)
#
# chkconfig:    - 95 04
#
# description:  supervisor is a process control utility.  It has a web based
#               xmlrpc interface as well as a few other nifty features.
# processname:  supervisord
# config: /etc/supervisord.conf
# pidfile: /var/run/supervisord.pid
#
# source function library
. /etc/rc.d/init.d/functions
RETVAL=0
start() {echo -n $"Starting supervisord: "daemon supervisordRETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord
}
stop() {echo -n $"Stopping supervisord: "killproc supervisordecho[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/supervisord
}
restart() {stopstart
}
case "$1" instart)start;;stop)stop;;restart|force-reload|reload)restart;;condrestart)[ -f /var/lock/subsys/supervisord ] && restart;;status)status supervisordRETVAL=$?;;*)echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"exit 1
esac
exit $RETVAL

给予执行权限:
chmod +x /etc/init.d/supervisord

这样我们就可以通过service命令管理supervisord了

如果想管理ss进程,应该用supervisorctl {start|stop|restart} ss
查看ss在后台的状态:ps -ef | grep servers.py

到这你的shadowsocks分享站就已经搭完,是不是很简单~

ss-panel v3前端与ss-manyuser后端配置supervisord守护完整教程相关推荐

  1. manyuser是php吗,ss-panel v3前端与ss-manyuser后端配置supervisord守护完整教程

    这是一个sspanel v3 配置的完整教程,我用的是lnmp框架,当然lamp也是可以的,安装lnmp的过程我就不说了. 一,安装ss-panel 首先我们进入网站目录 cd /home/wwwro ...

  2. BugReport:前端不能成功解析后端信息造成消息阻塞问题

    文章目录 1 前端不能成功解析后端信息造成消息阻塞问题 1.1 问题记录 1.1.1 问题场景复现 1.1.2 问题业务开发情况 1.2 问题剖析 1.2.1 WebSocket协议 1.2.1.1 ...

  3. 前端和后端开发人员比例_前端开发人员vs后端开发人员–实践中的定义和含义

    前端和后端开发人员比例 Websites and applications are complex! Buttons and images are just the tip of the iceber ...

  4. python后端开发框架加密_Flask框架实现的前端RSA加密与后端Python解密功能详解

    本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能.分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 username ...

  5. linux 的ss看进程号,linux ss命令详解

    ss 是 Socket Statistics 的缩写.ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似.但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连 ...

  6. 写给刚入门的前端工程师的前后端交互指南

    转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据 ...

  7. 前端登陆加密和后端解密

    实现了前端对数据进行加密后传输,后端对加密的数据进行解密,然后去数据库对比.因为要解密所以采用对称加密算法.不讨论哪个对称加密算法好,这里采用DES,在实现的过程中发现要找一个js版本的DES加密,并 ...

  8. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session

    原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session chsakell分享了前端使用AngularJS,后端使用ASP.NE ...

  9. 前端php解密,转发:RSA实现JS前端加密,PHP后端解密

    web前端,用户注册与登录,不能直接以明文形式提交用户密码,容易被截获,这时就引入RSA. 前端加密 需引入4个JS扩展文件,jsbn.js.prng4.js.rng.js和rsa.js. RSA L ...

最新文章

  1. freeCodeCamp:Find the Longest Word in a String
  2. oracle数据库函数和存储过程的包
  3. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )
  4. OpenCV安装好了,show第一个例子,找找成就感~~~
  5. 为什么知乎页面按Ctrl C 会自动粘贴一部份文字出来?
  6. fdtd算法的matlab程序,FDTD算法的Matlab程序
  7. IIS 6.0支持.SHTML
  8. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加...
  9. Java 并发编程必须知道的七种锁类型以及应用
  10. 学渣的心酸(求职篇)
  11. spring boot启动加载外部配置文件
  12. 苹果爸爸发飙,封杀 React Native?
  13. Python3.4 枚举类型的使用
  14. 代替人工批卷?基于目标检测模型的试卷自动批阅实践
  15. DSP数字信号处理实验--CCS基础入门
  16. C语言小程序-学生成绩统计系统
  17. JavaEE | 可变参数
  18. 智点木门软件为百闰门业解决哪些问题?
  19. 如何让电脑计算机d盘布局,创建MSR分区,解决“由于用户电脑存在一个不支持的用于UEFI固件的硬盘布局,因此系统无法安装”...
  20. pyltp依存句法分析_NLP(十二)依存句法分析的可视化及图分析

热门文章

  1. linux线程为什么也称为轻量级进程
  2. 上拉电阻和下拉电阻选取经验大合集
  3. 树莓派中SSH 传输文件
  4. nvidia-docker版本及安装过程
  5. Netty框架之概述及基本组件介绍
  6. 《教育的目的》笔记——如何让学生通过树木看见森林
  7. 如何修改移动终端的wifi(在忘记后台username和password的情况下)
  8. Lotus中千奇百怪的 $$
  9. 6月25日腾讯大规模掉线 旗下游戏全线关闭
  10. SAP PP MRP控制参数说明