### 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++代码