这是一个
涨姿势的站点

ss-panel + ss py mu安装教程

系统介绍: 1g内存,单核,也就是传说中的腾讯1元学生机。centos6.8 x32。


读者建议:如果使用国外vps建议会快速很多。国内vps建议本方法。

lnmp环境配置

这里使用最新的lnmp1.4,php版本高于5.6

wget -c http://soft.vpser.net/lnmp/lnmp1.4beta.tar.gz && tar zxf lnmp1.4beta.tar.gz && cd lnmp1.4 && ./install.sh lnmp

5.png

安装ss-panel前端

下载 ss-panel 源码

cd /home/wwwroot/ 
mkdir ss-panel
cd ss-panel/
git clone https://github.com/mmmwhy/ss-panel.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard

安装好之后,是这个样子的。
6.png

配置 ss-panel

.env文件配置

安装依赖文件,并配置.env

cd /home/wwwroot/ss-panel/
curl -sS https://install.phpcomposer.com/installer | php
chmod +x composer.phar
php composer.phar install

  • 安装依赖那一步时间会久一些,因为一共有75个依赖,而且很多被墙了(因此如果直接用国外vps,真的会好很多),换了国内源会稍微好一些。
    4.png
chmod -R 777 storage
cp .env.example .env
vi .env

  • 这里主要是修改数据库的内容,还有muKey

nginx配置

lnmp vhost add
# 写入站点网址
/home/wwwroot/ss-panel/public
# 允许重写规则,其余一律是n

3.png
进入nginx配置文件再修改一下:

vi /usr/local/nginx/conf/vhost/ss.feiyang.li.conf

完整配置文件应该是这个样子

server {
 listen 80;
 #listen [::]:80;
server_name ss.feiyang.li n;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/ss.feiyang.li/public;

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

location ~ [^/]\.php(/|$) {
 # comment try_files $uri =404; to enable pathinfo
 try_files $uri =404;
 fastcgi_pass unix:/tmp/php-cgi.sock;
 fastcgi_index index.php;
 include fastcgi.conf;
 #include pathinfo.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir = /home/wwwroot/:/temp/:/proc";
}

 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
 expires 30d;
 }

 location ~ .*\.(js|css)?$
 {
 expires 12h;
 }

}

新建ss数据库

mysql -uroot -p
# 输入自己的密码
create database ss;
use ss;
source  /home/wwwroot/ss-panel/db.sql;

2.png
现在访问你的站点,就可以看到 ss-panel 啦:
1.png

添加管理员账户

文字排序会让强迫症奔溃。。。。。 php xcat createAdmin

邮箱设置

vi .env
mailgun_key = 'key-0****c09' //上面的KEY
mailgun_domain = 'https://api.mailgun.net/v3/feiyang.li' //你经过验证过的域名
mailgun_sender = '[email protected]****.net' //[email protected]你经过验证过的域名

https证书

lnmp ssl add 修改nginx配置文件

server {
  listen         80;
  server_name    ss.feiyang.li n;
  rewrite        ^   https://$server_name$request_uri? permanent;
}
server {
  listen                 443 ssl http2;
  server_name            ss.feiyang.li;
  ssl                    on;
  ssl_certificate        /home/wwwroot/ss.feiyang.li/1_ss.feiyang.li_bundle.crt;
  ssl_certificate_key    /home/wwwroot/ss.feiyang.li/2_ss.feiyang.li.key;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/ss.feiyang.li/public;

location / {
                        try_files $uri $uri/ /index.php$is_args$args;
                }
location ~ [^/]\.php(/|$) {
 # comment try_files $uri =404; to enable pathinfo
 try_files $uri =404;
 fastcgi_pass unix:/tmp/php-cgi.sock;
 fastcgi_index index.php;
 include fastcgi.conf;
 #include pathinfo.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir = /home/wwwroot/:/temp/:/proc";
}

 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
 expires 30d;
 }

 location ~ .*\.(js|css)?$
 {
 expires 12h;
 }

}

7.png

安装 SS PY MU 服务端

安装libsodium支持chacha20

centos:

yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
tar xf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

ubuntu/debian:

apt-get install build-essential
wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
tar xf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11
./configure && make -j2 && make install
ldconfig

将代码 clone 到本地:

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

其中的 shadowsocks 子目录才是我们需要的,外面的是 setup.py 的相关文件。

配置 shadowsocks-manyuser

cp config_example.py config.py
vi config.py

修改其中第 15 行和第 29~31 行的内容:

# 启用 MultiUser API
API_ENABLED = True

# 就是在你的站点地址后面加个 /mu
API_URL = 'http://ss.feiyang.li/mu'  
# 还记得上面在 .env 中填写的 muKey 吗?把它填在这里
API_PASS = 'api_key_just_for_test'  

由于我们选择使用 Mu API 来与前端通信,所以我们不需要修改 config.py 中任何关于数据库的配置。
8.png
好了,现在可以试着运行一下

python servers.py

(注意,是 servers.py 而不是 server.py)。如果没错的话,应该可以看到这样的输出:

配置 ss-manyuser 守护进程

  • 安装 supervisor (用的是上面安装过的 pip):
yum install python-setuptools
easy_install supervisor

  • 创建 supervisor 配置文件
echo_supervisord_conf > /etc/supervisord.conf

  • 运行 supervisor 服务
    supervisord
    
    
  • 配置 supervisor 以监控 ss-manyuser 运行
    vim /etc/supervisord.conf
    
    
  • 在文件尾部添加如下内容并酌情修改:
[program:ss-manyuser]
command = python /root/shadowsocks-py-mu/shadowsocks/servers.py  
user = root  
autostart = true  
autorestart = true  

其中 command 里的目录请自行修改为你的 servers.py所在的绝对路径。

  • 重启 supervisor 服务以加载配置
killall -HUP supervisord

  • 查看 shadowsocks-manyuser 是否已经运行:
ps -ef | grep servers.py
root 952 739 0 15:40 ? 00:00:00 python /root/shadowsocks-rm/shadowsocks/servers.py

  • 可以通过以下命令管理 shadowsock-manyuser 的状态
supervisorctl {start|stop|restart} ss-manyuser

谷歌BBR加速

OpenVZ 以外的( KVM 、 Xen 、 VMware 等)

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

详细信息见: https://www.91yun.org/archives/5174

OpenVZ 小鸡

wget --no-check-certificate https://raw.githubusercontent.com/mmmwhy/LKL_BBR/master/lkl/install.sh && bash install.sh

如果运行之后,发现不能连接服务器,可能因为防火墙设置问题。

可以直接关闭node节点的防火墙

对于CentOS6:

service iptables stop #关闭命令:  
chkconfig iptables off# 永久关闭防火墙:

对于CentOS7:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

详细内容见:https://www.91yun.org/archives/6281

可以转载,注明出处。91vps » ss-panel + ss py mu安装教程

评论 14

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #8

    无法创建管理员。,php xcat createAdmin 不管用

    stark3个月前 (06-13)回复
  2. #7

    大大,
    运行python servers.py
    出现
    ERROR Except thrown while pushing user data:’data’

    nhao2125个月前 (05-06)回复
  3. #6

    专门翻过来找您,因为尝试三天各种办法不行。之前就是参照您的这个教程做的,没任何问题。自认为已经很熟练了装了很多次折腾,但同一个主机环境下,现在不行了。安装过程全程走完都很顺利,web站点能打开,ss后端也跑起来了。防火墙直接关掉了,ss安卓端依然无法连接:无互联网连接。同机重装用了一个网上的ss一键可以,只是那个很简陋。

    么么嗒怪我里8个月前 (02-04)回复
    • 但出于好奇心,希望您能看看是什么问题导致,您可以邮箱联系我,现成机器可摩擦。

      么么嗒怪我里8个月前 (02-04)回复
  4. #5

    版主,我按照要求lnmp也配好了Vhost的conf,但是打开页面后浏览器报500错误,相关的依赖安装都已装好。
    我尝试在ss-panel/public/下新建了index.html的测试页面,发现使用浏览器是可以访问的。

    目前怀疑会不会是 index.php 相关的PHP文件没生效,求版主解答我可能落下了那些步骤。。。

    小弟不懂PHP。。。。。

    臭鱼烂虾781年前 (2017-08-03)回复
  5. #4

    如果我的后端一个服务器有多个IP应该怎么设置呢?(ipv4和ipv6)

    name1年前 (2017-08-01)回复
    • 多建几个节点吧

      肥羊1年前 (2017-08-01)回复
  6. #3

    为什么只有nginx?没apache呢?

    name1年前 (2017-07-02)回复
    • 即使写了,读者也不会用啊。到时候问题更多,nginx配置比较省事。

      肥羊1年前 (2017-07-02)回复
  7. #2

    大大 请问ss-panel+ss-py-mu 这个教程可以用上宝塔界面吗?

    musicool1年前 (2017-06-15)回复
    • 可以,我就是用宝塔搭了。

      mmmwhy1年前 (2017-06-16)回复
  8. #1

    大大按了你的一步一步弄的,最后出现该网页无法正常运作

    172.93.41.109 目前无法处理此请求。
    HTTP ERROR 500
    求支招!谢谢

    musicool1年前 (2017-06-15)回复
    • ….你给的反馈太少了,php所有错误都是500提醒,你这样完全看不出来,猜测你是php依赖安装问题,在安装一遍php依赖吧,如果再不行建议直接一键吧

      mmmwhy1年前 (2017-06-15)回复