目錄
- 一、百度百科
- 二、Nginx作為web服務器
- 三、Nginx處理請求邏輯圖
- 四、Nginx的優點
- 五、Nginx應用場景
- 1、反向代理
- 2、負載均衡
- 3、動靜分離
- 六、Nginx的常用命令
- 1、啟動
- 2、從容停止
- 3、快速停止
- 4、強制停止
- 5、重啟
- 6、重啟Nginx服務
- 七、Nginx組態檔
- 1、找到組態檔位置:
- 2、組態檔中內容
- 八、Nginx 配置實體-反向代理實體
- 1、實作效果
- 2、準備作業
- 3、訪問程序的分析
- 4、具體配置 第一步 在 windows 系統的 host 檔案進行域名和 ip 對應關系的配置
- 5、最終測驗
- 九、Nginx 的原理
- 1、mater 和 worker
- 2、worker 如何進行作業的
- 3、一個 master 和多個 woker 有好處
- 4、設定多少個 woker 合適
- 5、連接數 worker_connection
一、百度百科
Nginx是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務,Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發布于2004年10月4日,
其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、簡單的組態檔和低系統資源的消耗而聞名,
Nginx是一款輕量級的web服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like協議下發行,其特點是占有記憶體少,并發能力強,事實上Nginx的并發能力在同型別的網頁服務器中表現較好,中國大陸使用Nginx網站用戶有:阿里、百度、京東、新浪、網易、騰訊等,
二、Nginx作為web服務器
Nginx可以作為靜態頁面的web服務器,同時還提供CGI協議的動態語言,比如perl、php等,但是不支持java,Java只能通過與tomcat配合完成,Nginx專為性能優化而開發,性能是起最重要的考量,實作上非常注重效率,能經受高負載的考研,有報告表明能支持高達50000個并發連接數,
三、Nginx處理請求邏輯圖

四、Nginx的優點
- 可以高并發連接;
- 記憶體消耗少;
- 成本低廉;
- 組態檔非常簡單;
- 支持Rewrite重寫(能夠根據域名、URL的不同,將http請求分到不同的后端服務器群組,);
- 內置的健康檢查功能;
- 節省帶寬(支持GZIP壓縮,可以添加瀏覽器本地快取的Header頭,);
- 穩定性高(用于反向代理,宕機的概率微乎其微,);
- 支持熱部署;
五、Nginx應用場景
正向代理介紹
如果把局域網外的Internet想象成一個巨大的資源庫,則局域網中的客戶端要訪問Internet,則需要通過代理服務器來訪問,這種代理服務就稱為正向代理,

1、反向代理
客戶端對代理是無感知的,因為客戶端不需要任何配置就可以訪問,我們只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取資料,再回傳給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器IP地址,

2、負載均衡
單個服務器解決不了,我們增加服務器的數量,然后將請求分發到各個服務器上,將原先請求集中到單個服務器上的情況改為將請求分發到多個服務器上,這就是負載均衡,

3、動靜分離
為了加快網站的決議速度,可以把動態頁面和靜態頁面由不同的服務器來決議,加快決議速度,降低原來單個服務器的壓力,

六、Nginx的常用命令
1、啟動
啟動代碼格式:nginx安裝目錄地址 -c nginx組態檔地址
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2、從容停止
(1)查看行程號
ps -ef|grep nginx
(2)殺死行程
kill -QUIT 2072
3、快速停止
(1)查看行程號
ps -ef|grep nginx
(2)殺死行程
kill -TERM 2132
4、強制停止
pkill -9 nginx
5、重啟
(1)驗證nginx組態檔是否正確
方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t
看到如下顯示nginx.conf syntax is ok
nginx.conf test is successful
方法二:在啟動命令-c前加-t
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
6、重啟Nginx服務
方法一:進入nginx可執行目錄sbin下,輸入命令./nginx -s reload 即可
方法二:查找當前nginx行程號,然后輸入命令:kill -HUP 行程號 實作重啟nginx服務
七、Nginx配置文件
1、找到組態檔位置:
cd /usr/local/nginx/conf/nginx.conf
2、組態檔中內容
- 全域塊:配置服務器整體運行的配置指令 比如 worker_processes 1;處理并發數的配置;
- events 塊:影響 Nginx 服務器與用戶的網路連接 比如 worker_connections 1024; 支持的最大連接數為 1024;
- http 塊 還包含兩部分: http 全域塊 server 塊;
八、Nginx 配置實體-反向代理實體
1、實作效果
打開瀏覽器,在瀏覽器地址欄輸入地址 www.123.com,跳轉到 liunx 系統 tomcat 主頁面中
2、準備作業
- 在 liunx 系統安裝 tomcat,使用默認埠 8080 * tomcat 安裝檔案放到 liunx 系統中,解壓 * 進入 tomcat 的 bin 目錄中,./startup.sh 啟動 tomcat 服務器
- 對外開放訪問的埠 firewall-cmd --add-port=8080/tcp --permanent firewall-cmd –reload 查看已經開放的埠號 firewall-cmd --list-all
- 在 windows 系統中通過瀏覽器訪問 tomcat 服務器
3、訪問程序的分析

4、具體配置 第一步 在 windows 系統的 host 檔案進行域名和 ip 對應關系的配置
(1)添加內容在 host 檔案中
192.168.17.129 www.123.com
第二步 在 nginx 進行請求轉發的配置(反向代理配置)
server{
listen:80;
server_name 192.168.100.1;
location / {
root html;
proxy pass http://127.0.0.1:8080;
index index.html index.htm;
}
}
5、最終測驗

九、Nginx 的原理
1、mater 和 worker

2、worker 如何進行作業的

3、一個 master 和多個 woker 有好處
- 可以使用 nginx –s reload 熱部署,利用 nginx 進行熱部署操作;
- 每個 woker 是獨立的行程,如果有其中的一個 woker 出現問題,其他 woker 獨立的, 繼續進行爭搶,實作請求程序,不會造成服務中斷
4、設定多少個 woker 合適
worker 數和服務器的 cpu 數相等是最為適宜的,
5、連接數 worker_connection
第一個:發送請求,占用了 woker 的幾個連接數? 答案:2 或者 4 個;
第二個:nginx 有一個 master,有四個 woker,每個 woker 支持最大的連接數 1024,支持的 最大并發數是多少?
普通的靜態訪問最大并發數是: worker_connections * worker_processes /2;
而如果是 HTTP 作 為反向代理來說,
最大并發數量應該是 worker_connections * worker_processes/4;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/404112.html
標籤:其他
