一、说明
- Ubuntu 14.04 x64,其它系统相似
- 工具:xshell+xftp(win)、终端+yummy ftp(mac)
二、安装 Web环境
预备必要环境
apt-get update && apt-get upgrade -y apt-get install -y redis-server screen m2crypto git python-pip curl设置vi的中文支持
vi /etc/vim/vimrc
按i,添加如下内容:
按esc,输入:和wq保存退出并添加如下内容
set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=prc按esc,输入:和wq保存退出并添加如下内容
安装lnmp
screen -S lnmp wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp添加虚拟机
lnmp vhost add三、安装ss-panel
进入添加的域名目录
cd /home/wwwroot/www.x.com #www.x.com改为你的目录 git clone https://github.com/orvice/ss-panel.git mv -f ss-panel/* . curl -sS https://getcomposer.org/installer | php php composer.phar install创建MySQL数据库
mysql -u root -p create database shadowsocks; CREATE USER x IDENTIFIED BY '123456789'; use shadowsocks; source /home/wwwroot/www.x.com/db.sql; grant all privileges on shadowsocks.* to 'x'@'localhost' identified by '123456789'; flush privileges; exit;开启数据库远程登录(单节点,跳过此步骤)>mysql -u root -p use mysql; select host,user from user; #你指定的那个用户登录的host字段是否显示为%若不是则执行 update user set host = '%' where user = 'root'; #再如上检查,并刷新权限 flush privileges; exit;
或者
>直接在浏览器输入 IP/phpmyadmin,用root登录进入后,点击用户,找到x,编辑权限—————登录信息,改为任意主机,执行保存后主机变为%。打开3306端口
>iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT >service iptables save
配置nginxvim /usr/local/nginx/conf/vhost/*.conf>修改server_name x.com www.x.com; #或ip>在root后添加publicroot /home/wwwroot/www.x.com/public>再在root这一行下面添加location / { try_files $uri $uri/ /index.php$is_args$args; }>保存退出
配置ss-panel站点文件cp /home/wwwroot/www.x.com/ss-panel/.env.example .env>vim /home/wwwroot/www.x.com/.env
>>database 数据库配置db_driver = 'mysql' db_host = 'localhost' db_port = '3306' db_database = 'shadowsocks' //上文新建的数据库名字 db_username = 'x' //上文新建的登录数据库shadowsocks的用户名 db_password = '123456789' //用户名x的登录密码 db_charset = 'utf8' db_collation = 'utf8_general_ci' db_prefix = ''
创建ss-panel站点管理员
cd /home/wwwroot/www.x.com chown -R www storage php xcat createAdmin给予网站目录权限
chown www:www /home/wwwroot -R重启nginx,使新配置生效
service nginx restart 或者 service nginx reload在浏览器输入你在nginx中添加的域名或IP,便可进入ss-panel网站。
四、安装shadowsocks-manyuser
cd pip install cymysql git clone -b manyuser https://github.com/breakwa11/shadowsocks.git编辑config.json
vim /root/shadowsocks/shadowsocks/config.json #与上文一样就可跳过这步编辑config.pyvim /root/shadowsocks/shadowsocks/Config.py>按i, 修改内容项如下,一定要与ss-panel的.env文件选项一致>MYSQL_HOST = 'localhost' #MySQL服务器域名 MYSQL_PORT = 3306 #MySQL服务器端口 MYSQL_USER = 'x' #MySQL用户名 MYSQL_PASS = '123456789' #MySQL用户密码 MYSQL_DB = 'shadowsocks' #MySQL数据库名>保存退出
大功告成,测试下
cd /root/shadowsocks/shadowsocks python server.py #看输出信息来确定是否正常运行连接到数据库和监听端口ctrl+c,先中断,安装supervisor来值守进程cd /root pip install --upgrade pip pip install supervisor echo_supervisord_conf > /etc/supervisord.conf vim /etc/supervisord.conf>按i,去掉最后两行前的;,修改为>[include] files = /etc/supervisord.conf.d/*.conf>保存退出
mkdir /etc/supervisord.conf.d cd /etc/supervisord.conf.d vim shadowsocks.conf>按i,添加如下>[program:shadowsocks] command=python /root/shadowsocks/shadowsocks/server.py -c /root/shadowsocks/shadowsocks/config.json autostart=true autorestart=true stderr_logfile = /root/shadowsocks.err.log stdout_logfile = /root/shadowsocks.out.log>保存退出
运行supervisor
supervisord -c /etc/supervisord.confsupervisor运行后就交由supervisorctl来管理了
使修改的配置立即生效
>supervisorctl update
查看运行进程
supervisorctl status设置开机启动supervisorvi /etc/rc.local>在exit0之前添加>supervisord -c /etc/supervisord.conf但是我自己重新开机,不会自启,需要手动启动supervisor
supervisord -c /etc/supervisord.conf好了自此大功告成
五、安装第二台服务器vps
- 多台vps节点管理
- 不需要安装web环境,前段ss-panel
- 只需要安装必要环境和后端shadowsocks
- 这里以shadowsocks-manyuser为例
apt-get update && apt-get upgrade -y apt-get install -y redis-server screen m2crypto git python-pip curl pip install cymysql git clone -b manyuser https://github.com/breakwa11/shadowsocks.git编辑 config.json,除非你要修改加密方法或与上文第一台服务器ss-panel站点加密一致,否则跳过这一步骤
vim /root/shadowsocks/shadowsocks/config.json编辑config.py
vim /root/shadowsocks/shadowsocks/Config.py>按i, 修改内容项如下,一定要与ss-panel的.env文件选项一致>MYSQL_HOST = '第一台服务器ip或域名' #MySQL服务器域名 MYSQL_PORT = 3306 #MySQL服务器端口 MYSQL_USER = 'x' #MySQL用户名 MYSQL_PASS = '123456789' #MySQL用户密码 MYSQL_DB = 'shadowsocks' #MySQL数据库名保存退出
大功告成,测试下
cd /root/shadowsocks/shadowsocks python server.py
supervisor或者后台运行与上文同。