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
