本文最后由 森林生灵 于 2018/06/07 08:54:09 编辑
系统选择
初始化系统盘时选择 Ubuntu 18.04 或 CentOS 7 操作系统,此处以 Ubuntu 18.04 系统为例。
# 切换到 root 用户,以下命令均在此用户下执行。 sudo -i # 更新系统和安装必要的软件 apt update apt install git nano screen # 增加 1 GB 交换空间 dd if=/dev/zero of=/var/swap bs=1024 count=1048576 mkswap /var/swap chmod 0600 /var/swap swapon /var/swap echo '/var/swap swap swap default 0 0' >> /etc/fstab
安装 Google BBR
参考文章: https://teddysun.com/489.html
# 一键升级内核并安装 BBR # 按 y 继续安装,当脚本检测到 VPS 的虚拟方式为 OpenVZ 时,会提示错误并自动退出安装 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh # 重启系统 # 脚本运行完重启发现开不了机的,打开 VPS 后台控制面板的 VNC,开机卡在 grub 引导,手动选择内核即可 reboot # 重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR uname -r # 内核版本 > 4.9 sysctl net.ipv4.tcp_available_congestion_control # 返回值一般为 net.ipv4.tcp_available_congestion_control = bbr cubic reno sysctl net.ipv4.tcp_congestion_control # 返回值一般为 net.ipv4.tcp_congestion_control = bbr sysctl net.core.default_qdisc # 返回值一般为 net.core.default_qdisc = fq lsmod | grep bbr # 返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常
搭建 LNMP 环境
参考文章:https://lnmp.org/install.html
# 一键搭建 LNMP 环境 # 新建一个 screen,临时退出可以按 Ctrl+A 再按 Ctrl+D,恢复会话使用 screen -r lnmp 命令 screen -r lnmp # 需要注意的是 MySQL 5.6/5.7 及 MariaDB 10 必须在 1 GB 以上内存的配置上才能选择 wget -c http://soft.vpser.net/lnmp/lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp # 如果使用域名访问需要添加虚拟主机,使用 IP 访问可以略过 # 添加虚拟主机 lnmp vhost add
安装 ss-panel v3 mod
# 修改 nginx 配置,此处以 IP 访问的默认目录为例 nano /usr/local/nginx/conf/fastcgi.conf # 注释掉最后一句,要不然 sspanel 会因为路径权限问题出现 500 错误 # fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; nano /usr/local/nginx/conf/nginx.conf # 将访问的根目录修改为 public root /home/wwwroot/default/public; # 添加伪静态规则 location / { try_files $uri $uri/ /index.php$is_args$args; } # 切换到网站根目录 cd /home/wwwroot/default/ # 删除无用文件,这种方法删不掉 .user.ini 文件,当然这个文件也不用删除 rm -rf * # 安装 ss-panel v3 mod git clone https://github.com/mmmwhy/mod.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard # 配置文件 cp config/.config.php.example config/.config.php # 更改文件用户组 chown -R www:www * # 新建数据库并导入,参数 -proot 中的 root 应修改为搭建 LNMP 环境时填写的 MySQL 密码 mysql -uroot -proot -e"CREATE DATABASE `sspanel` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;" mysql -uroot -proot -e"use sspanel;" mysql -uroot -proot sspanel < /home/wwwroot/default/sql/sspanel.sql # 修改 sspanel 配置 nano /home/wwwroot/default/config/.config.php # 主要修改这几项 # 站点 Key,填随机字符串 $System_Config['key'] = ''; # 站点名称,SSR Demo $System_Config['appName'] = ''; # 站点访问地址,如 http://xxx $System_Config['baseUrl'] = ''; # 密码加密方式,荐 sha256 $System_Config['pwdMethod'] = 'sha256'; # 密码加密的盐,填随机字符串 $System_Config['salt'] = ''; # 用于校验 ss-go mu 的请求,半角逗号分隔 $System_Config['muKey'] = ''; # 数据库配置 $System_Config['db_host'] = 'localhost'; $System_Config['db_database'] = 'sspanel'; $System_Config['db_username'] = 'root'; $System_Config['db_password'] = ''; $System_Config['db_charset'] = 'utf8'; $System_Config['db_collation'] = 'utf8_general_ci'; $System_Config['db_prefix'] = ''; # Shadowsocks 默认设置 # 默认协议 $System_Config['reg_protocol']='origin'; # 默认协议参数 $System_Config['reg_protocol_param']=''; # 默认混淆方式 $System_Config['reg_obfs']='plain'; # 默认混淆参数 $System_Config['reg_obfs_param']=''; # 多用户设置 # 多用户混淆参数后缀 $System_Config['mu_suffix']=''; # 多用户混淆参数表达式,%5m 代表取用户特征 md5 的前五位,%id 代表用户 id,%suffix 代 $ $System_Config['mu_regex']='%5m%id.%suffix'; # sspanel 命令 # 添加管理员 php xcat createAdmin # 重置流量 php xcat resetTraffic # 发送流量使用情况邮件 php xcat sendDiaryMail # 下载客户端 php -n xcat initdownload # 下载IP解析库 php xcat initQQWry # 注意,此版 sspanel 含有默认管理员账号,账号密码均为 91vps,搭建好后需要及时删除或修改此账号。
Shadowsocks 节点
参考文章:https://91vps.win/2017/07/05/server_installation/
cd ~ # 安装基本组件 sudo apt install python-setuptools python-pip && pip install cymysql speedtest-cli # CHACHA20 加密方式支持 wget https://raw.githubusercontent.com/mmmwhy/ss-panel-and-ss-py-mu/master/libsodium-1.0.13.tar.gz tar zxvf libsodium-1.0.13.tar.gz && cd libsodium-1.0.13 ./configure && make -j2 && make install echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf && ldconfig rm -rf libsodium-1.0.13.tar.gz # 安装 Shadowsocks git clone -b manyuser https://github.com/glzjin/shadowsocks.git sudo apt install python-dev libffi-dev openssl libssl-dev cd shadowsocks pip install -r requirements.txt cp apiconfig.py userapiconfig.py cp config.json user-config.json # 修改配置 nano userapiconfig.py # 节点 ID要和在网站添加节点分配的 ID 一致 NODE_ID = 3 # 对应 .config.php 中 $System_Config['mu_suffix'] 的参数 MU_SUFFIX = '' # 对应 .config.php 中 $System_Config['mu_regex'] 的参数 MU_REGEX = '%5m%id.%suffix' API_INTERFACE = 'modwebapi' # 对应 .config.php 中 $System_Config['baseUrl'] 的参数 WEBAPI_URL = '' # 对应 .config.php 中 $System_Config['muKey'] 的参数 WEBAPI_TOKEN = '' # 测试运行 python server.py # 后台运行 ./logrun.sh
本文标题:搭建Shadowsocks多用户节点
版权声明:本文使用「署名-非商业性使用-相同方式共享」创作共享协议,转载或使用请遵守署名协议。
上一篇:Nginx反向代理阿里企业邮箱