中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx的原理和作用是什么

發布時間:2021-06-24 10:35:31 來源:億速云 閱讀:259 作者:chen 欄目:大數據

這篇文章主要講解了“Nginx的原理和作用是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Nginx的原理和作用是什么”吧!

Nginx是一款輕量級的Web服務器,反向代理服務器及電子郵件代理服務器。

反向代理:是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。

nginx常用命令:

1、nginx -s stop:快速關閉nginx,可能不保存相關信息,并迅速終止web服務

2、nginx -s quit:平穩關閉nginx,保存相關信息,有安排的結束web服務

3、nginx -s reload:重新打開日志文件

4、nginx -c filename :為nginx指定一個配置文件,來代替缺省的

5、nginx -t :不運行,而僅僅測試配置文件,nginx將檢查配置文件的語法的正確性,并嘗試打開配置文件中所引用到的文件

6、nginx -v:顯示nginx的版本。

nginx主要作用:http反向代理配置,負載均衡配置,網站有多個webapp的配置,靜態站點配置,跨域解決方案。

http反向代理實現:

#運行用戶
#user  nobody;
#啟動進程,通常設置成和cpu的數量相等
worker_processes  1;

#全局錯誤日志
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#PID文件,記錄當前啟動的nginx的進程ID
#pid        logs/nginx.pid;

#工作模式及連接上限
events {
    worker_connections  1024;#單個后臺work process進程的最大并發連接數
}

#設定http服務器,利用它的反向代理功能提供負載均衡支持
http {

#設定mime類型(郵件支持類型),類型有mime.type文件定義
    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指令指定nginx是否調用sendfile函數來輸出文件,對于普通應用,必須設置為 on
#如果用來進行下載等應用磁盤IO重載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統等uptime
    sendfile        on;
    #tcp_nopush     on;

#連接超時時間
    #keepalive_timeout  0;
    keepalive_timeout  65;

#壓縮開關
    #gzip  on;

#設定實際的服務器列表
    Upstream zp_server1{
	server 127.0.0.1:8089
}

#HTTP服務器
    server{
#監聽80端口,80端口時知名端口號,用于HTTP協議
	listen       80;
#定義使用www.XX.com訪問
	server_name  www.xuecheng.com;
#指向webapp的目錄
 	#root
#編碼格式
	charset utf-8;

	ssi on;
	ssi_silent_errors on;
	location / {
		alias   F:/teach/xcEdu/xcEduUI01/xc-ui-pc-static-portal/;
#首頁
		index  index.html;
	}
	
   }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

負載均衡配置:網站在實際運營過程中,多半都是有多臺服務器同時運行著同樣的app,這時需要使用負載均和來分流

#運行用戶
#user  nobody;
#啟動進程,通常設置成和cpu的數量相等
worker_processes  1;

#全局錯誤日志
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#PID文件,記錄當前啟動的nginx的進程ID
#pid        logs/nginx.pid;

#工作模式及連接上限
events {
    worker_connections  1024;#單個后臺work process進程的最大并發連接數
}

#設定http服務器,利用它的反向代理功能提供負載均衡支持
http {

#設定mime類型(郵件支持類型),類型有mime.type文件定義
    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指令指定nginx是否調用sendfile函數來輸出文件,對于普通應用,必須設置為 on
#如果用來進行下載等應用磁盤IO重載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統等uptime
    sendfile        on;
    #tcp_nopush     on;

#連接超時時間
    #keepalive_timeout  0;
    keepalive_timeout  65;

#壓縮開關
    #gzip  on;

#設定實際的服務器列表
    upstream zp_server1{
#weight參數表示權重,權重越高,被分配到的幾率越大
	server 127.0.0.1:8089 weight=5;
	server 127.0.0.1:8088 weight=1;
	server 127.0.0.1:8087 weight=6;
}

#HTTP服務器
    server{
#監聽80端口,80端口時知名端口號,用于HTTP協議
	listen       80;
#定義使用www.XX.com訪問
	server_name  www.xuecheng.com;
#指向webapp的目錄
 	#root
#編碼格式
	charset utf-8;
#打開SSI
	ssi on;
	ssi_silent_errors on;
	location / {
		proxy_pass http://zp_server1
#首頁
		index  index.html;
	}
	
   }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

網站有多個webapp的配置:當一個網站功能越來越豐富時,往往需要將一些功能相對獨立的模塊剝離出來,獨立維護。這樣的話,通常會有多個webapp。

http{
	upstream product_server{
		server www.helloworld.com:8081;
	}
	upstream admin_server{
		server www.helloworld.com:8082;
	}
	upstream finance_server{
		server www.helloworld.com:8083;
	}
}

server{

	location / {
		proxy_pass http://product_server
	}
	location /product/ {
		proxy_pass http://product_server
	}
	location /admin/ {
		proxy_pass http://admin_server
	}
	location /finance/ {
		proxy_pass http://finance_server
	}
}

https反向代理配置:一些對安全性要求比較高的站點,可能會使用HTTPS,使用nginx配置https需要知道幾點:

1、HTTPS的固定端口號443,不同于HTTP的80端口

2、SSL標準需要引入安全證書,所以在nginx.conf中你需要指定證書和它對應的key

靜態站點配置:

server{

	location / {
		root /app/dist/;
		index index.html
	}

跨域解決方案:

1、CORS

在后端服務器設置HTTP響應頭,把你需要運行訪問的域名加入。

2、jsonp

nginx根據第一種思路,也提供了一種結局跨域的解決方案

首先:在enable-cors.conf文件中設置cors

接著:在你的服務器中include-enable-cors.conf 來引入跨域配置。

感謝各位的閱讀,以上就是“Nginx的原理和作用是什么”的內容了,經過本文的學習后,相信大家對Nginx的原理和作用是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舟山市| 从江县| 拜泉县| 景谷| 嘉定区| 商水县| 荥阳市| 孟州市| 惠安县| 东平县| 辽宁省| 尉犁县| 阳西县| 九台市| 喀什市| 嫩江县| 富蕴县| 洪泽县| 重庆市| 三门峡市| 水富县| 庄河市| 寿光市| 巍山| 卢龙县| 呼和浩特市| 大渡口区| 保亭| 蒙自县| 竹溪县| 冕宁县| 龙州县| 甘孜县| 云安县| 栾川县| 大连市| 南郑县| 双流县| 福安市| 门头沟区| 黄陵县|