[https://x1.php168.com/cms/show-302.html](https://x1.php168.com/cms/show-302.html)
**视频版 有部分命令执行的时间比较长 可以快进过去 可以先看一次视频 然后对着这里的命令进行输入即可 **
**不支持录制回放 只有win版支持 [https://www.kancloud.cn/php168/x1\_of\_qibo/1459144](https://www.kancloud.cn/php168/x1_of_qibo/1459144) **
说明比较长,需要一定的操作动手能力才行。
基础条件 第一个必须是linux服务器 第二个安装了宝塔面板 第三编译安装nginx1.7.6+php5.6##
**第一步**
修改/www/server/panel/install/nginx.sh文件 如下图位置的文件
![](https://img.kancloud.cn/e4/e5/e4e5f6db1a8ce337409d8ea014111417_834x549.png)
点编辑 找到 ./configure 部分 免费版7.1版大约在205行 我们添加一个 --add-module=/www/server/nginx_plus/nginx-rtmp-module 添加完成后如下:请勿直接复制 版本不一样 其他的配置也不一样
~~~
~~~
./configure --add-module=/www/server/nginx_plus/nginx-rtmp-module --user=www --group=www --prefix=${Setup_Path} ${ENABLE_LUA} --add-module=${Setup_Path}/src/ngx_cache_purge --add-module=${Setup_Path}/src/nginx-sticky-module --with-openssl=${Setup_Path}/src/openssl --with-pcre=pcre-${pcre_version} ${ENABLE_HTTP2} --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt="-Wl,-E" --with-cc-opt="-Wno-error" ${jemallocLD} ${ENABLE_NGX_PAGESPEED} ${ADD_EXTENSION}
~~~
~~~
可以看出就是在 --user=www 前面加上了 \--add-module=/www/server/nginx_plus/nginx-rtmp-module空格隔开
添加完了 记得保存
## **第二步**
打开XSHELL 命令工具 或者宝塔后台的 宝塔终端 输入你服务器的root密码登录。
执行git clone[https://github.com/arut/nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module)/www/server/nginx_plus/nginx-rtmp-module/ 语句,直到100%完成
![](https://img.kancloud.cn/60/bc/60bc2bcf19479d21c2f73daa2a320509_784x162.png)
## **第三步**
第二步完成后 输入命令 sh /www/server/panel/install/nginx.sh install 1.17 回车进行nginx的编译
就不截图了和上面一样 等待编译完成 完成后大概是这样的编译时间很快几分钟的事
![](https://img.kancloud.cn/17/ce/17ceb887abf0c49c577a5f5c040b3c9f_747x419.png)
注意,安装成功后就不要使用宝塔后台的NGINX切换版本功能了
以上部分参考 [https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=33703](https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=33703) 并进行了修正。
## 4**第四步**
www 文件夹下建立 tmp 文件夹 tmp文件夹下建立 live 文件夹
![](https://img.kancloud.cn/e6/d8/e6d8e49ee74a9670022961252d1d2568_629x405.png)
继续打开 /www/server/nginx/conf 目录下的 nginx.conf 文件
在
~~~
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
~~~
下面加上
~~~
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4000;
application hls {
live on;
hls on;
hls_path /www/tmp/live;#视频流存放地址
hls_fragment 1s;
hls_playlist_length 2s;
hls_continuous on; #连续模式。
hls_cleanup on; #对多余的切片进行删除。
hls_nested on; #嵌套模式。
}
}
}
~~~
![](https://img.kancloud.cn/76/be/76befe1b88c200140170c5338e6b7bd9_802x659.png)
在
~~~
access_log /www/wwwlogs/access.log;
}
~~~
下面加上
~~~
server
{
listen 8080;
####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书
#listen 8082 ssl; #https协议的端口号 比如 https://xx.com:8082/
#server_name svn.php168.com; #填写绑定证书的域名
#ssl_certificate C:/nginx-rtmp-win32-dev/conf/svn.php168.com.crt; #换成自己的证书 注意路径
#ssl_certificate_key C:/nginx-rtmp-win32-dev/conf/svn.php168.com.key; #换成自己的证书
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#ssl_prefer_server_ciphers on;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;
#error_page 497 https://$host$request_uri;
location / {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /www/server/nginx_plus/nginx-rtmp-module/;
}
location /hls { #添加视频流存放地址。
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
#访问权限开启,否则访问这个地址会报403
autoindex on;
alias /www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度
expires -1;
add_header Cache-Control no-cache;
#防止跨域问题
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
}
~~~
rtmp 的配置比较多 可以自行百度进行参数的设置这里仅仅是示例
添加完成后的完整配置:(可以对照着修改)
~~~
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4000;
application hls {
live on;
hls on;
hls_path /www/tmp/live;#视频流存放地址
hls_fragment 1s;
hls_playlist_length 2s;
hls_continuous on; #连续模式。
hls_cleanup on; #对多余的切片进行删除。
hls_nested on; #嵌套模式。
}
}
}
http
{
include mime.types;
#include luawaf.conf;
include proxy.conf;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server_tokens off;
access_log off;
server
{
listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root /www/server/phpmyadmin;
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
server
{
listen 8080;
####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书
#listen 8082 ssl; #https协议的端口号 比如 https://xx.com:8082/
#server_name svn.php168.com; #填写绑定证书的域名
#ssl_certificate C:/nginx-rtmp-win32-dev/conf/svn.php168.com.crt; #换成自己的证书 注意路径
#ssl_certificate_key C:/nginx-rtmp-win32-dev/conf/svn.php168.com.key; #换成自己的证书
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#ssl_prefer_server_ciphers on;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;
#error_page 497 https://$host$request_uri;
location / {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /www/server/nginx_plus/nginx-rtmp-module/;
}
location /hls { #添加视频流存放地址。
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
#访问权限开启,否则访问这个地址会报403
autoindex on;
alias /www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度
expires -1;
add_header Cache-Control no-cache;
#防止跨域问题
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
}
include /www/server/panel/vhost/nginx/*.conf;
}
~~~
最后记得点保存。
![](https://img.kancloud.cn/7d/58/7d5846733793ced27ef224f3a1a12b81_772x416.png)
点他后面的设置按钮 先点重载配置 再点重启
![](https://img.kancloud.cn/2f/7a/2f7a0e2d0214420ad5b5a99584b9108b_461x253.png)
## **最后一步**
![](https://img.kancloud.cn/a1/a4/a1a483ca4e39fa9a2b9ce49c77b9bf7c_797x379.png)
在这里我们可以添加一个 ip或者你域名的网站
推流地址:rtmp://122.51.110.79/hls/selfserver162 ip可以是你这里绑定的域名或者ip selfserver162 是流名称
播放地址:[http://122.51.110.79/hls/selfserver162/index.m3u8](http://122.51.110.79/hls/selfserver162/index.m3u8) selfserver162 是流名称
后台插件设置
![](https://img.kancloud.cn/dd/67/dd67d772cfc13ef95221dbd51432c2fc_833x311.png)
https://x1.php168.com/public/uploads/files/20200205/69_202002051909190ee29.rar
下载以上附件解压 放到你新创建的这个网站根目录。
宝塔后台添加一个定时任务一分钟执行一次就好
或者在xshell cd到你刚刚创建的网站根目录执行 nohup php zhibo.php & 任何按任意键返回控制台 再关闭xshell即可
定时任务和命令模式只能选择一个
zhibo.php 请打开修改17 18 19行为自己的网址
$web_url 为你展示直播的网站
$play_server 和$stat_url 为你最后一步在直播服务器创建的网站域名或者ip
步骤比较多 中间也修正过多次 应该是没有遗漏了 出问题概不负责 也是瞎鼓捣的
提供一个测试直播服务器 [http://122.51.110.79](http://122.51.110.79/) 直播插件选择自建服务器 输入这个ip即可 有效期一个月 1核1G1M宽带的 1块钱买了一个月测试了下自建服务器 没有用了
补充SSL的配置教程:
zhibo.php 仅修改 protected static $play_server='[https://suifeng.cnsheep.cn](https://suifeng.cnsheep.cn/):8082'; 这里改为你的SSL网址+8082端口号
www 目录下新建 crt目录 里面新建2个文件 live.crt 和live.key 把我们申请到的证书写到文件中 或者直接上传到这里也可以随便都可以。
![](https://img.kancloud.cn/80/d1/80d10c7b9daf65a33e14738da269fd5a_298x311.png)
/www/server/nginx/conf/nginx.conf 的配置如下:对照着改一下 别直接复制过去
~~~
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4000;
application hls {
live on;
hls on;
hls_path /www/tmp/live;#视频流存放地址
hls_fragment 2s;
hls_playlist_length 5s;
hls_continuous on; #连续模式。
hls_cleanup on; #对多余的切片进行删除。
hls_nested on; #嵌套模式。
}
}
}
http
{
include mime.types;
#include luawaf.conf;
include proxy.conf;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server_tokens off;
access_log off;
server
{
listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root /www/server/phpmyadmin;
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
server
{
listen 8080;
####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书
listen 8082 ssl; #https协议的端口号 比如 https://xx.com:8082/
server_name suifeng.cnsheep.cn; #填写绑定证书的域名
ssl_certificate /www/crt/live.crt; #换成自己的证书 注意路径
ssl_certificate_key /www/crt/live.key; #换成自己的证书
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;
location / {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /www/server/nginx_plus/nginx-rtmp-module/;
}
location /hls { #添加视频流存放地址。
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
#访问权限开启,否则访问这个地址会报403
autoindex on;
alias /www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度
expires -1;
add_header Cache-Control no-cache;
#add_header Access-Control-Allow-Origin *;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
}
include /www/server/panel/vhost/nginx/*.conf;
}
~~~
改完后 重启服务器 记得安全组放行8082端口
在xshell cd到你刚刚创建的网站根目录执行 `nohup php zhibo.php & ` 任何按任意键返回控制台 再关闭`xshell`即可
![](https://img.kancloud.cn/7c/a9/7ca9f31e1236496cdd15336adfac43ba_925x219.png)
- 空白目录
- 平日使用的小应用,小技巧.
- 小技巧,二级域名绑定
- 需要的按年月日发帖量和点击排序的使用
- 每周赚取的积分排行使用
- 齐博x1第三季《模板风格的制作》系列
- 导航的高亮处理
- Default下index中的模板分析
- 005-新建一个空模板并在后台选择
- 008-模板页面之间的继承
- 010-对比系统布局模板添加一些必要代码
- 015-栏目的调用3
- 017-栏目的调用5
- 019-模块的路径访问
- 002-前台模板index_style目录的分析
- 004-风格样式资源目录public/static
- 006-增加一个布局模板layout
- 007-用{block}标记来分割布局模板
- 011-加一个导航把系统后台的菜单调出
- 013-栏目的调用1
- 014-栏目的调用2
- 016-栏目的调用4
- 018-栏目的终极方法get_sort
- 020-插件的路径访问
- 神盾工具箱007-标签云
- 标签云上线啦
- 云标签(更新版本1.2)
- 云标签(更新版本1.3)
- 标签云(更新1.4)
- 标签云(更新1.8)
- 标签云(更新3.0)
- 标签云(更新3.1)
- 标签云(更新3.3)
- 齐博x1第一季《新手入门》系列
- 001-下载安装x1
- 002-认识齐博x1的后台
- 003-系统设置之基本设置
- 004-系统设置之会员注册
- 005-系统设置之邮箱接口设置
- 006-系统设置之水印设置
- 007-系统设置之联系方式
- 008-系统设置之短信接口
- 009-系统设置之登录接口
- 010-系统设置之其它设置
- 011-数据库工具
- 012-会员管理
- 013-模块的简单说明
- 014-伪静态的相关设置
- 齐博x1第二季《基本数据操作》系列
- 001-标签的使用
- 002-标签的使用
- 003系统参数的调用
- 004-列表页的内置变量
- 005-内容页的内置变量
- 齐博X1《实用技巧》
- 任意页调用用户的收藏列表
- 巧用字段后面js属性来获取表单内容
- 给标题栏加个按钮,点击获取内容里文字截取一段做标题
- 简单的模块制作说明---初级
- V系列转换程序重新起航 支持v全系列转X系列(v7转换支持添加到搜索)
- 简单插件制作流程---友情链接解说版
- 钩子简单制作-tag加连接解说版
- 织梦转X1程序
- 简单的模块制作说明---进阶篇(更新中)
- 模型字段内容页面调用小技巧
- 水平凡、lvyecms转X1
- fun 函数 来个抛砖引玉 最简单的分类信息显示手机号归属地
- 再来个抛砖引玉 内容页根据关键词调用相关内容 新功能哦!
- 序列号使用图文教程
- OSS有巨大的优惠活动 特此开启一篇免流量教程帖
- 搜索结果调用其他字段的办法
- 关于安装七牛、腾讯、OSS等云储存无法上传提示没参数的解答(必看)
- 鉴于很多人问列表的筛选怎么放到首页、内容页等等地方 贴出方法
- 下面根据运营经验给大家讲下服务器一般配置
- 一段不错的小js提高一点点阅读体验 计算本文阅读所需的时长
- 自定义时间插件更新了!新增编辑的时候自定义时间(已经安装过的请看修改教程
- 制作好的应用导出上架教程
- 支付插件卸载后无法重新安装的解决办法
- 任意位置调用万能表单的方法 顺便借楼说下purl的作用
- 新版圈子店铺类实例和详细接口教程附模板文件
- 新版圈子专题类的数据教程
- 滑动门+下滑加载更多详细图解
- 使用宝塔面板php7.3的用户如果无法安装应用的解决办法
- V系列如果发现被黑的排查方法附修复办法
- 电脑版直播OBS Studio简单教程
- 站内引用添加到编辑器后在编辑器显示错乱?一招告诉你怎么解决
- linux 宝塔面板安装rtmp简陋教程 (已加视频版教程)
- 内容页上传MP3加载播放器简单教程
- 免费的导播台Mshow简单的使用攻略
- 万能fun 调用任意数据表 任意字段就是这么任性调用
- bui框架前端自定义配色基础属性
- 关于自定义时间或者其他钩子安装后无效的一个解决办法
- 网站后台上传的logo图丢失的一个排除解决办法
- 插件如何做前台风格切换的功能详解
- 齐博X1--标签变量大全
- 齐博X1--应用实例收集
- 嵌套-循环栏目,并列出子栏目下的内容
- 齐博X1--+关注,私信,TA的圈子
- 齐博X1--栏目多图字段的循环调用
- 任意位置调用当前用户提交的表单
- 循环栏目并调用栏目信息内容
- 头部底部菜单高亮设置
- 万能表单
- 全站调用验证码
- 万能导出excel数据教程
- 如何重新模块索引