Nginx安裝及分流多個web服務


Ngnix安裝及常用配置

一、安裝Nginx

  1.檢查依賴

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

2.下載

(官網下載地址https://nginx.org/en/download.html)

wget https://nginx.org/download/nginx-1.8.1.tar.gz

3.安裝

tar -zxvf nginx-1.8.1.tar.gz

cd nginx-1.8.1

./configure

make && make install

啟動

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

二、進行配置

修改完nginx.conf后,如果啟動報錯,執行 nginx -t 進行查看配置文件是否有問題

1.配置

安裝完nginx后,修改相應的nginx.conf文件

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

修改為:

user www-data;

worker_processes auto;

pid /run/nginx.pid;

events {
  worker_connections 1024; #單個后台進程的最大並發鏈接數
}
http {

#設置訪問的web應用列表

upstream VideoSecuritySystem{

  server 192.168.0.156:8080; #!!!!!!!!!!!!!!修改為自己的路徑

}

upstream one{

  server 192.168.0.156:8080; #!!!!!!!!!!!!!!!修改為自己的路徑

}
upstream two{

  server 192.168.0.156:8081; #!!!!!!!!!!!!!!!修改為自己的路徑

}

#HTTP服務器
server {

listen 80;

server_name 192.168.0.156;#!!!!!!修改!!!!可以是域名,前提是tomcat配置過,否則無法獲取請求

index index.jsp

root /home/chx/allSoftCert/apache-tomcat-8.5.38/webapps/VideoSecuritySystem; #!!!!!!!修改為自己設置的根目錄

charset utf-8;

proxy_connect_timeout 180;

proxy_send_timeout 180

proxy_read_timeout 180;

proxy_set_header Host $host;

proxy_set_header X-Forwarder-For $remote_addr;

location / {

  proxy_pass http://VideoSecuritySystem; #默認的展示服務

}

location /one/{

  proxy_pass http://one; #!!!!!!!!!!修改為自己的upstream

}

location /two/ {

  proxy_pass http://two; #!!!!!!!!!!修改為自己的upstream

}

}

}

2.驗證

  linux下放置了兩份tomcat,一個端口8080,一個端口8081,通過nginx反向代理,不用輸入端口號進行訪問。

  

三、額外補充篇:

如果需要支持rtmp,進行如下配置:

./configure --add-module=/home/soft/nginx-rtmp-module-master --with-http_ssl_module

如果提示缺少openssl library ,執行

yum install openssl openssl-devel -y

make && make install

然后創建文件

mkdir /home/soft/video

在 /usr/local/nginx/conf/nginx.conf里加入

rtmp {
  server {
    listen 11111;
    chunk_size 4000;
    application video {
      live on;
      max_connections 1024;
    }
    application hls {
      live on;
      hls on;
      hls_path /home/soft/video/hls;
      hls_fragment 10s;
    }

  }
}

在server里加入

location /hls {

types{

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}
root /home/soft/video;

add_header Cache-Control no-cache;

add_header Access-Control-Allow-Origin *;

}

 四、知識總結

簡介:Nginx同Apache一樣都是一種WEB服務器,Apache對於高並發高訪問的支持並不是很好,Nginx是一款用c語言編寫的可支持百萬級別TCP連接的服務器。

作用:

1.HTTP服務器和反向代理服務器。

2.同時也是一個IMAP、POP3、SMTP代理服務器。

3.Nginx可以作為一個HTTP服務器進行網站的發布處理,另外Nginx可以作為反向代理進行負載均衡的實現。

原理:

正向代理(不明確是哪個客戶端進行訪問):

正向代理最大的特點是客戶端非常明確要訪問的服務器地址,用戶通過訪問代理服務器訪問國外網站,服務器只清楚請求來自哪個代理服務器,而不清楚來自哪個具體的客戶端。

正向代理模式屏蔽或者隱藏了真實客戶端信息。

反向代理(不明確是哪台服務器進行處理):多個客戶端給服務器發送的請求,Nginx服務器接收到之后,按照一定的規則分發給了后端的業務處理服務器進行處理。

請求的來源是明確的,但是請求具體由哪台服務器處理的並不明確了,Nginx扮演的就是一個反向代理角色。

使用:

Ngnix + Tomcat + Java


免責聲明!

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



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