多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### Install env for WEB ~~~ sudo mkdir /srs cd /srs git clone https://github.com/ossrs/srs cd srs/trunk ./configure && make ~~~ check srs server is runing? ~~~ ps aux|grep srs ~~~ 解决跨域 ~~~ vim /srs/srs/trunk/conf/http.flv.live.conf ~~~ 找到 http_server ~~~ http_server { crossdomain on; } ~~~ ![](https://img.kancloud.cn/06/a4/06a4424a8f19b68d8797d107eb730fca_502x320.png) run srs sever port is 1935 ~~~ /srs/srs/trunk/objs/srs -c /srs/srs/trunk/conf/http.flv.live.conf ~~~ 安装lamp环境 ~~~ sudo apt install curl(如果系统有CURL忽略) sudo curl -sSO http://download.bt.cn/install/new_install.sh && sudo bash new_install.sh ~~~ 安装完成后可使用 ~~~ sudo bt ~~~ 来操作修改用户名密码,安装成功后会出现类似。 输入数字回车 修改登录名 ![](https://img.kancloud.cn/cf/5c/cf5c3443182c747cd7be8b5626b57419_508x262.png) 修改密码 ![](https://img.kancloud.cn/be/09/be094f89873dae1db3bec1785fc53ab8_482x279.png) 请空限制 ![](https://img.kancloud.cn/e6/ea/e6ea979f6b19d7e508159fb17487b635_468x247.png) ~~~ Bt-Panel: http://localhost:8888/ username: rootadmin password: 111111 ~~~ 登录后,安装LAMP环境, 包含 php7.2、 Nginx 注意使用Nginx不是Apache(主要是直播使用8080 nginx的配置) ![](https://img.kancloud.cn/28/4d/284d86cd530e3ce163f912d1ed055439_226x283.png) 在软件商店里面安装 mongodb ![](https://img.kancloud.cn/af/61/af6129d2ff1f5dbcf05336ae841da462_737x505.png)![](https://img.kancloud.cn/62/2c/622c39745a92002c8cc00f1494ec257d_740x466.png) >安装软件过程比较耗时,放着就行,等待安装完成。 ![](https://img.kancloud.cn/3c/5b/3c5b9d2376a547dc8f6d4b88662efc99_607x386.png) ## 代码下载并修改配置 ~~~ cd /www/wwwroot sudo git clone http://119.3.141.126:8099/root/kh_duo.git duo ~~~ 下载时需要输入用户名密码 下载后执行 ~~~ git checkout dev ~~~ 用户名 密码已单独提供 ![](https://img.kancloud.cn/11/62/11628ac5f03f60773fc43bb763301fec_661x90.png) ### 选择正在开发的dev分支代码 ~~~ cd duo sudo git checkout dev ~~~ 执行以下命令看到如下图 ~~~ ll sudo chmod -R 777 data ~~~ ![](https://img.kancloud.cn/9d/ef/9def3d7ac95c77b08d39d50fa34debe5_543x313.png) ### 配置文件,已修改为本地配置,一般无需操作,可跳过 > ignore this step ~~~ config/mongo.php #数据库配置 config/app.php #rtmp配置 ~~~ ![](https://img.kancloud.cn/98/13/9813da1525386aeccf1bdcd8c4af4a7e_367x170.png)![](https://img.kancloud.cn/d5/fe/d5fe824c66f6b97b32fbf1862b3f5a39_415x107.png) 如果rmtp 与 mongodb配置有变,请修改. ### 创建站点 ![](https://img.kancloud.cn/79/2a/792a919023a57c931a376a0dfa072b7a_719x397.png) 点击左侧网站,内容中的添加站点。 信息如下 ![](https://img.kancloud.cn/6f/cf/6fcfc756ef93e36a3d05a019f296229b_618x477.png) 提交保存。 ![](https://img.kancloud.cn/b3/be/b3be1d97ea0b0251bfbc38ac74cb25d1_615x520.png) ![](https://img.kancloud.cn/96/81/96814f67fc04b3cd42276f307443e950_603x523.png) 输入的内容是下面的这个。 ~~~ try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?r=$1 last; } ~~~ ### 安装php7.2对应的mongo扩展 安装好php后 , 在宝塔软件管理里面搜索PHP 找到安装好的php,版本号 php7.2 ![](https://img.kancloud.cn/16/a1/16a12ee5904bddb8b44dc0587e935167_730x538.png) 把禁用函数中的 `putenv` `popen` `exec` 删除,否则无法安装mongodb扩展 ![](https://img.kancloud.cn/b0/6f/b06f25861450b14ac7e66f0e212e327a_615x480.png) 在ssh ~~~ sudo pecl channel-update pecl.php.net ~~~ ![](https://img.kancloud.cn/83/41/8341dd3888d886f90e214a0922ed1da1_559x40.png) 安装php mongodb扩展 ~~~ sudo pecl install mongodb ~~~ 看到以下信息说明安装成功 ![](https://img.kancloud.cn/a8/08/a80802e386a32ff1d1479dc26f94bcb7_573x71.png) ## 配置本地域名,duo.com ~~~ sudo vim /etc/hosts ~~~ 编辑内容 按 i 键 ,上下键移动到空白处添加以下内容 ~~~ 127.0.0.1 duo.com ~~~ 添加好后按ESC键 输入 `:w` 保存并退出。 ![](https://img.kancloud.cn/90/49/90492f2279f52c2de7724848d4ffaa5e_332x161.png) ### 访问UI 初始化数据,先删除 ~~~ sudo rm -rf /www/wwwroot/duo/data/install.lock ~~~ 安装composer依赖包 ~~~ sudo composer install ~~~ ![](https://img.kancloud.cn/40/8d/408d4d1e0d78f9f715660de987b81f0c_462x130.png) 重载php,使用mongodb扩展可以正常使用。 ![](https://img.kancloud.cn/94/79/9479704a9fa935f2467eb1d724144398_570x424.png) 通过 设置默认站点,可把 localhost设置为UI, ![](https://img.kancloud.cn/c9/ce/c9ce4a95abfb97bfdd04345c336d6e48_622x417.png) 初绐化数据 ~~~ http://localhost/do_install ~~~ ![](https://img.kancloud.cn/2e/b8/2eb870a168eeb19a718772f6390bdde3_531x356.png) 说明初始化数据成功了。 直接访问 ~~~ localhost ~~~ ![](https://img.kancloud.cn/a5/50/a550e4f3022ba04bf857c162b4ec1960_638x463.png) 为ui页面, ## 开始测试 执行脚本,邮件通知、vanc数据按规则检查。UI才会有变化 。 启动PHP脚本 ~~~ sudo /srs/srs/trunk/objs/srs -c /srs/srs/trunk/conf/http.flv.live.conf sudo php /www/wwwroot/duo/cronjob/run.php sudo php /www/wwwroot/duo/cronjob/del.php ~~~ 注意测试时,vim窗口不要关掉。 打开3个vim tab,分别执行上面的两行代码。 运行C++程序,刷新页面。 ### 代码更新处理,无更新不用管 如果是测试代码有更新需要删除对应的pid ~~~ ps aux|grep php ~~~ 找到 `run.php` `del.php`分别kill掉。 ~~~ sudo kill -9 对应的PID ~~~ 再次启动PHP脚本 ------------------------ !!! 以下所有内容可跳转,不用管!!! ------------------------ ### 设置自启 > 请先跳过,最后将采用守护进程的方式。 > 对c++ php的脚本统一处理 ~~~ vi /etc/rc.local sudo /srs/srs/trunk/objs/srs -c conf/http.flv.live.conf ~~~ 如果已经执行后,更新了代码使用 ps aux|grep php 找到 run.php del.php,通过 kill命令把进程关闭。 然后再执行 ~~~ sudo nohup php /www/wwwroot/duo/cronjob/run.php & sudo nohup php /www/wwwroot/duo/cronjob/del.php & ~~~ ps aux|grep php 如果看到run.php del.php说明脚本是成功的。 请保持项目目录 data 可写 ~~~ sudo chmod -R 777 data/ ~~~ 初始化数据,先删除data/install.lock ~~~ http://duo.com/do_install ~~~ 所有上面的操作后再执行C++代码