JAVA項目從運維部署到項目開發(五. Nginx)


   《Nginx與Nginx-rtmp-module搭建RTMP視頻直播和點播服務器》一文簡單介紹了關於直播數據流的nginx相關配置,下面簡單介紹下各種項目如何配置nginx。

web項目、靜態頁面、websocket的配置

  web項目除了在Tomcat容器里做相應配置外,nginx的配置也很重要。以下為web項目、靜態頁面、websocket、rtmp項目的配置詳情:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}
#RTMP服務
rtmp {
    server {
    listen 1935;  #//服務端口
    chunk_size 4096;   #//數據傳輸塊的大小
    application vod {
      play /opt/video; #//視頻文件存放位置。
    }
    #直播
    application live{
      live on;
      record off;
      #record all;
      record_path /opt/video/hls;
      #record_max_size 50M;
      record_max_size 2M;
      
      hls on; #這個參數把直播服務器改造成實時回放服務器。
      wait_key on; #對視頻切片進行保護,這樣就不會產生馬賽克了
      hls_path /opt/video/hls; #切片視頻文件存放位置
      hls_fragment  600s;     #設置HLS片段長度
      hls_playlist_length 1m;  #設置HLS播放列表長度,這里設置的是10分鍾
      hls_continuous on; #連續模式
      hls_cleanup on;    #對多余的切片進行刪除
      hls_nested on;     #嵌套模式
      allow play all;
       }
   }
}

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

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 16 64k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain application/x-javascript text/css application/xml application/json;
    gzip_vary on;
  
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    upstream wordoor_chat_api_clusters {
        ip_hash;
        server 192.168.1.31:8080;
        server 192.168.1.31:8080;
    }
  
    server {
        listen       80;
        server_name  api1.gopopon.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
         add_header 'Access-Control-Allow-Origin' "*";
        }
    
    
        #socket
        location  ~ ^/wordoor_chat_api/v1/websocket/(.*) {
                  proxy_pass http://wordoor_chat_api_clusters/chatrest/websocket/$1?$args;

                  proxy_read_timeout 86400;
                  proxy_redirect off;
                  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  # WebSocket support
                  proxy_http_version 1.1;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection "upgrade";
        }

        #web項目
        location /wordoor_chat_api/v1/ {
                 proxy_pass  http://wordoor_chat_api_clusters/chatrest/;
                 proxy_redirect     off;
                 proxy_set_header   Host             $host;
                 proxy_set_header   X-Real-IP        $remote_addr;
                 proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    
    
        #靜態頁面 "/coursestatistics"會自動拼接到"/apps/statics"后面去
        location /coursestatistics{
              root /apps/statics;
              # index  index.html index.htm; 不配置則默認 index.html
              autoindex off;# 是否可以以目錄形式打開
              #add_header 'Access-Control-Allow-Origin' "*"; 跨域
        }

    }

    server {
        listen       8097;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /wordoor_chat_api/v1/ {
            proxy_pass  http://wordoor_chat_api_clusters/chatrest/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }

    
    include  /usr/local/openresty/nginx/conf/server/*;
    include  /usr/local/openresty/nginx/conf/vhosts/*;
}

  配置完成后,檢查nginx配置文件然后reload即可訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM