前言
前几天无聊翻GitHub 康到了一个比较有趣的开源项目SyncMusic

GitHub地址: https://github.com/kasuganosoras/SyncMusic
V2EX地址: https://www.v2ex.com/t/617224
因为想着在窝VTB整活,以及给我的HXD(大家可以去康康他)直播整活,窝打算部署这个开源程序
你所需要的前置是:
- PHP 7.0+
- PHP引擎Swoole
- Python3.6+ 以及扩展 mutagen
- Nginx 以及模块 sub_filte (仅使用https需要)
- 各系统的基础环境配置(wget screen curl git)
部署:
首先 在服务器里安装基础环境
P.S:MoeDev平常使用OneInStack安装,但是OneInStack编译安装是不带有sub_filte的,请自行斟酌
首先 把OneinStack的nginx编译安装脚本上 加上 sub_filte 模块
脚本位置在/[user]/oneinstack/includes/nginx.sh
./configure --prefix=${nginx_install_dir} --user=${run_user} --group=${run_user} --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-${openssl11_ver} --with-pcre=../pcre-${pcre_ver} --with-pcre-jit --with-ld-opt='-ljemalloc' ${nginx_modules_options}
后面加上
--add-module=/root/ngx_http_substitutions_filter_module
然后编译安装Nginx。漫长的安装后,开始着手PHP
curl https://tql.ink/php.sh | bash - | curl https://tql.ink/swoole.sh | bash -
安装完成后,配置PHP环境变量&Swoole
#vim /etc/profile
//加上
export PATH=$PATH:/usr/local/php/bin
保存退出
#php -v
php -m | grep swoole
有输出即可
安装Python&扩展mutagen
//CentOS/RHEL↓
yum install python36 python36-pip -y
//Ubuntu/Dabian
apt-get install python36 python36-pip
//Arch/Banjaro
panman -S python36 python36-pip
########################
然后执行命令
pip3 install mutagen
将项目拉到本地并修改配置
git clone https://github.com/kasuganosoras/SyncMusic/
cd SyncMusic/
vim server.php
配置文件需更改出多已注释,检查无误可以启动后端
screen -S music
php server.php
配置后端 在OneInStack根目录中添加虚拟主机
此时基础配置以及完成,只要将根目录下的以下文件复制到你的网站根目录 即可使用
- index.html
- face.html
- face(Directory)
❤HTTPS❤
介绍到此结束,下文是HTTPS配置中踩的坑以及部署时遇到的困难(肝功能障碍者请谨慎观看)
根据官方文档,若要实现HTTPS,窝们需要使用Nginx搭建反向代理
首先,分析一下HTTP的程序逻辑

这是用nginx反向代理实现HTTPS的逻辑

基本逻辑还是相当简单的,但是在配置过程中踩了不少小坑
坑①:都是键盘的锅
因为窝之前配置的时候超级困,配置证书的时候留下了致命错误,导致产生了中间人公鸡的错觉,但实际上只是因为字打错了(
坑②:思维的死胡同
为了解决这个问题,烷妹被我折腾了一个通宵,期间写了无数份Nginx配置文件,并且每解决一个报错就多出来十个报错。。。
坑③:人类是有极限的!
虽然烷妹非常可爱,但窝还是被榨干了。所以,窝不部署啦!烷烷!
最终解决方案
实际上问题非常简单,如我画的流程图为例,只需要配置好反代就可以,但是直接配置是木大的!你需要设置几个Header。所以请这样写location
块()
location / {
# 反向代理后端的地址,端口号要设置为 server.php 里面的监听端口
proxy_pass http://127.0.0.1:811;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
能用了,绒布球们看了都哭了
现在已经在https://sh.moedev.net/部署了点歌台(HTTPS ONLY),请随意使用吧~
2020.03.08截稿
Comments | NOTHING