淘先锋技术网

首页 1 2 3 4 5 6 7

1.安装依赖包

//一键安装上面四个依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.下载并解压安装包

//创建一个文件夹
mkdir /usr/local/nginx
cd /usr/local/nginx
//下载tar包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf nginx-1.18.0.tar.gz

3.安装nginx

//进入目录
cd /usr/local/nginx/nginx-1.18.0
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
//执行make命令
make
//执行make install命令
make install

4.启动nginx服务

 ​​​​​​​/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

5.配置nginx.conf

# 打开配置文件

vi /usr/local/nginx/conf/nginx.conf

将端口号改成8089(随便挑个端口),因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

将localhost修改为你服务器的公网ip地址。

worker_processes  1;

events {
    worker_connections  1024;
}


#my start 点播视频 服务器的配置 
#播放地址示例: rtmp://localhost/vod/qq.mp4 
rtmp {
    server {
        listen 1935 so_keepalive=5s:2:2;
        chunk_size 4000;

        application show {
            #live on;
            #enable HLS
            #hls on;
            play 10.88.1.25:554/test;
            #hls_fragment 3;
            #hls_playlist_length 20;
        }

        application hls {
            live on;        #直
            #回看功能 视频切片变成ts文件
            hls on;                                 #这个参数把直播服务器改造成实时回放服务器。
            wait_key on;                           #对视频切片进行保护,这样就不会产生马赛克了。
            hls_path /usr/local/nginx/video/hls;       #切片视频文件存放位置。
            hls_fragment 10s;                       #每个视频切片的时长。
            # hls_playlist_length 120;                #总共可以回看的事件,这里设置的是1分钟。
            hls_continuous on;                      #连续模式。
            # hls_cleanup off;                         #对多余的切片进行删除。
            #hls_nested on;                          #嵌套模式。
        }
    }
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  10.88.1.25;
        location ^~ /jeecg-boot {
            proxy_pass              http://127.0.0.1:8080/highland/;
            proxy_set_header        Host 127.0.0.1;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
        location / {
            root   html;
            index  index.html index.htm;
            if (!-e $request_filename) {
                rewrite ^(.*)$ /index.html?s=$1 last;
                break;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
        
        location /hls {
            alias /usr/local/nginx/video/hls;
            # Disable cache
            #add_header Cache-Control no-cache;
        
            # CORS setup
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length';
        
            # allow CORS preflight requests
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header 'Content-Length' 0;
                return 204;
            }
        
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
        
        }


    }
}

6.重启nginx

/usr/local/nginx/sbin/nginx -s reload

报错:[emerg] unknown directive "rtmp" in /usr/local/nginx/conf/nginx.conf:10

解决方案见:https://blog.csdn.net/weixin_54514751/article/details/129244800?spm=1001.2014.3001.5502

操作完成后再次执行5.重启nginx

查看nginx进程是否启动:

ps -ef | grep nginx

7.若想使用外部主机访问nginx,需要关闭服务器防火墙或开放nginx服务端口,端口为上一步nginx.conf的配置端口:

centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service

关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口 :

开放80端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

查询端口号80 是否开启:

firewall-cmd --query-port=80/tcp

重启防火墙:

firewall-cmd --reload

8.随后访问该ip:端口 即可看到nginx界面。访问服务器ip查看(备注,由于我监听的仍是80端口,所以ip后面的端口号被省略)

http://192.168.2.246/

安装完成一般常用命令:

进入安装目录中,

命令: cd /usr/local/nginx/sbin
启动,关闭,重启,命令:
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启