mac配置流媒体服务器 nginx-rtmp-module, Werror
git clone https://github.com/nginx/nginx.git
git clone https://github.com/arut/nginx-rtmp-module.git
启动命令是:
/Users/zoujiu/software/nginx/objs/nginx -c /Users/zoujiu/software/nginx/conf/nginx.conf -p /Users/zoujiu/software/nginx/prefix
终止命令是:
/Users/zoujiu/software/nginx/objs/nginx -s stop /Users/zoujiu/software/nginx/conf/nginx.conf -p /Users/zoujiu/software/nginx/prefix
配置流媒体服务器 nginx-rtmp-module
因之前使用了 sudo apt-get install nginx安装了nginx,所以需要首先停止nginx nginx -s stop,然后再次下载相同版本的nginx和nginx-rtmp-module,然后编译的,过程中还需要编译openssl,所以还需要下载openssl,命令是: --with-openssl=
或者直接下载好nginx和nginx-rtmp-module和pcre和openssl,然后一起编译的
https://github.com/nginx/nginx
https://nginx.org/en/docs/configure.html
https://github.com/arut/nginx-rtmp-module
https://github.com/openssl/openssl/releases
https://www.pcre.org/
和https://github.com/PCRE2Project/pcre2/releases
编译命令分别是:需要指定之前配置文件的路径和其他路径
./configure --add-module=/home/admin/nginx-1.26.2/nginx-rtmp-module-master --without-http_rewrite_module --with-http_ssl_module --pid-path=/run/nginx.pid --user=root --error-log-path=/var/log/nginx/error.log --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --with-openssl=/home/admin/nginx-1.26.2/openssl-3.3.2
make
不需要安装,所以不要使用命令make install
编译好以后,找到nginx的可执行文件whereis nginx,
然后将编译好的可执行文件复制过去就行,也就是 sudo cp ./objs/nginx /usr/sbin/nginx
最后启动服务就可以了sudo nginx
pcre是正则表达式库,https://www.pcre.org/
和https://github.com/PCRE2Project/pcre2/releases
最后的编译命令是
./auto/configure --sbin-path=/Users/zoujiu/software/nginx/bin --conf-path=/Users/zoujiu/software/nginx/conf/nginx.conf --pid-path=/Users/zoujiu/software/nginx/nginx.pid --with-http_ssl_module --add-module=/Users/zoujiu/software/nginx/nginx-rtmp-module --with-pcre=/Users/zoujiu/software/nginx/pcre2-10.44 --with-openssl=/Users/zoujiu/software/nginx/openssl-3.3.2 --user=zoujiu --error-log-path=/Users/zoujiu/software/nginx/error.log
make -j6
报错了,“$$CFLAGS -Werror”
修改auto/cc/gcc,CFLAGS="$$CFLAGS -Werror"修改到CFLAGS="$$CFLAGS"
修改auto/cc/clang,CFLAGS="$$CFLAGS -Werror"修改到CFLAGS="$$CFLAGS"
配置文件是:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
# user root;
worker_processes auto;
pid /Users/zoujiu/software/nginx/nginx.pid;
error_log /Users/zoujiu/software/nginx/prefix/logs/error.log;
# include /etc/nginx/modules-enabled/*.conf;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1000;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
types_hash_max_size 3000;
include /Users/zoujiu/software/nginx/conf/mime.types;
default_type application/octet-stream;
access_log /Users/zoujiu/software/nginx/prefix/logs/access.log;
gzip on;
gzip_types text/plain application/javascript text/css;
server {
# server_name zoujiu.com.cn;
server_name localhost;
listen 80;
# listen 443 ssl;
# ssl_certificate cert/zoujiu.com.cn.pem;
# ssl_certificate_key cert/zoujiu.com.cn.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
# ssl_prefer_server_ciphers on;
# client_max_body_size 3000M;
location / {
root /Users/zoujiu/Desktop/webpage/vue-project/dist;
#proxy_pass http://localhost:7009;
index /index.html;
try_files $uri $uri/ /index.html;
# index /index.html;
#client_max_body_size 3000m;
}
location /article {
root /Users/zoujiu/Desktop/webpage/vue-project;
}
location /people {
root /Users/zoujiu/Desktop/webpage/vue-project;
}
location /csdn {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /markdown_detail {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /zhihu {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /think {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /video {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /travel {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /upload_video {
proxy_pass http://localhost:7009;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# This URL provides RTMP statistics in XML
location /stat {
rtmp_stat all;
# Use this stylesheet to view XML as web page
# in browser
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
# XML stylesheet to view RTMP stats.
# Copy stat.xsl wherever you want
# and put the full directory path here
root /Users/zoujiu/Desktop/webpage/vue-project/stat.xsl;
}
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /Users/zoujiu/Desktop/webpage/vue-project;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
# location /dash {
# Serve DASH fragments
# root /home/admin/rtmp;
# add_header Cache-Control no-cache;
# }
# location /article/ {
# root /Users/zoujiu/Desktop/webpage/vue-project/dist;
# }
}
# server {
# listen 80;
# server_name zoujiu.com.cn;
# rewrite ^(.*)$ https://$host$1;
# location / {
# index index.html index.htm;
# }
# }
}
rtmp {
server {
listen 2061;
chunk_size 4000;
application big {
live on;
}
application hls {
live on;
hls on;
hls_path /Users/zoujiu/Desktop/webpage/vue-project/hls;
hls_fragment 5s;
hls_playlist_length 15s;
# hls_sync 100ms;
# hls_continuous on;
# hls_base_url http://localhost:443/hls/;
# hls_cleanup on;
# hls_fragment_naming system;
# hls_fragment_naming_granularity 500;
# hls_fragment_slicing aligned;
# hls_type event;
}
}
}
更多推荐




所有评论(0)