Nginx學習筆記

2021-10-13 14:15:03 字數 4066 閱讀 5688

1 nginx 簡介

nginx (engine x異音) 是乙個高效能的 http 和反向**服務。nginx 是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的 站點(俄文:рамблер)開發的,第乙個公開版本 0.1.0發布於 2004 年 10 月 4 日。

nginx 是乙個很強大的高效能 web 和反向**服務,它具有很多非常優越的特性:在連線高併發的情況下,nginx 是 apache 服務不錯的替代品:nginx 在美國是做虛擬主機生意的老闆們經常選擇的軟體平台之一。

2 nginx 作用

2.1http 協議**

應用場景:(檔案上傳是基於ftp協議且上傳到ftp伺服器中)解決http不能餓訪問ftp伺服器中的資料。

2.2搭建虛擬主機

2.3服務的反向**

2.4在反向**中配置集群的負載均衡

**方式

1 正向**

正向**,意思是乙個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向**傳送乙個請求並指定目標(原始伺服器),然後**向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向**。

2 反向**

反向**(reverse proxy)方式是指以**伺服器來接受 internet 上的連線請求,然

後將請求**給內部網路上的伺服器,並將從伺服器上得到的結果返回給 internet 上請求連線的客戶端,此時**伺服器對外就表現為乙個反向**伺服器。

3 二者之間的區別

位置不同

正向**,架設在客戶機和目標主機之間;

反向**,架設在伺服器端;

**物件不同

正向**,**客戶端,服務端不知道實際發起請求的客戶端;(如vpn)

反向**,**服務端,客戶端不知道實際提供服務的服務端。

安裝 nginx

nginx 安裝環境

nginx 是 c 語言開發,建議在 linux 上執行

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

2.將 nginx 安裝包上傳到 linux 中

3.解壓安裝包:

tar -zxvf nginx-1.8.1.tar.gz

4.編譯安裝

進入到 nginx 的根目錄:cd nginx-1.8.0

配置安裝引數: ./configure --prefix=/usr/local/nginx

編譯:make

編譯安裝 make install

5.nginx的啟動和關閉

啟動:./nginx

關閉:./nginx -s quit

重啟:./nginx -s reload

6.測試

安裝成功後,啟動nginx,在瀏覽器上直接輸入ip即可。(nginx預設監聽的是80埠)

注意:記得關閉防火牆

配置虛擬主機

需求一台 linux 伺服器繫結兩個 ip:192.168.70.144、192.168.70.188

訪問不同的 ip 請求不同的 html 目錄,即:

訪問 將訪問「html144」目錄下的 html 網頁

訪問 將訪問「html188」目錄下的 html 網頁

2.nginx的虛擬主機配置方式

nginx 支援三種型別的虛擬主機配置

基於 ip 的虛擬主機

基於埠的虛擬主機

基於網域名稱的虛擬主機

2.1基於 ip 的虛擬主機

將動態 ip 修改為靜態 ip

–cd /etc/sysconfig/network-scripts

–vim ifcfg-eth0

2)將/etc/sysconfig/network-scripts/ifcfg-eth0 檔案複製乙份,命名為

ifcfg-eth0:1;

–cp -rf ifcfg-eth0 ifcfg-eth0:1

修改複製後的ifcfg-eth0:1

–vim ifcfg-eht0:1

修改其中內容:

device=eth0:1

ipaddr=192.168.70.188

其他項不用修改

重啟網路

–service network restart

3)修改 nginx 的配置檔案nginx.conf完成基於 ip 的虛擬主機配置

nginx.conf

nginx 對提供 8080 與 9090 兩個埠的監聽服務

請求 8080 埠則訪問 html8080 目錄下的 index.html

請求 9090 埠則訪問 html9090 目錄下的 index.html

修改 nginx 的配置檔案完成基於埠的虛擬主機配置

#乙個 server 就是乙個虛擬主機 基於埠

server

error_page 500 502 503 504 /50x.html;

location = /50x.html

}#乙個 server 就是乙個虛擬主機

server

error_page 500 502 503 504 /50x.html;

location = /50x.html }}

2)重啟nginx

2.3基於網域名稱的虛擬主機

1)需求

兩個網域名稱指向同乙個 nginx 伺服器,使用者訪問不同的網域名稱時顯示不同的內容。

網域名稱規劃:

1, 2, www.itbaizhan.cn

2)修改 windows 的 hosts 檔案配置網域名稱與 ip 的對映

檔案路徑:c:\windows\system32\drivers\etc

五、nginx 中配置服務的反向**

1需求安裝兩個 tomcat 服務,通過 nginx 反向**。

本案例中使用兩台虛擬機器演示。

tomcat 安裝到 192.168.70.143 環境中。埠為 8080 與 9090

nginx 安裝在 192.168.70.144 環境中

2.反向**實現

安裝 2個tomcat

修改其中一台的埠號

vim server.xml(3個都加10)

修改tomcat首頁進行區分 index.jsp

配置nginx的nginx.conf來實現服務的反向**

修改:nginx.conf

upstream tomcat_server1

upstream tomcat_server2

server

error_page 500 502 503 504 /50x.html;

location = /50x.html

}#乙個 server 就是乙個虛擬主機

server

error_page 500 502 503 504 /50x.html;

location = /50x.html }}

測試結果: 跳轉到 ;server 192.168.70.143:8080;(tomcat1)

跳轉到:server 192.168.70.143:9090;(tomcat2)

六、在反向**中配置負載均衡

1.nginx 負載均衡策略

1)輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後

端伺服器 down 掉,能自動剔除。

2)指定權重

指定輪詢機率,weight 和訪問比率成正比,用於後端伺服器

效能不均的情況。

upstream backserver

error_page 500 502 503 504 /50x.html;

location = /50x.html

}

Nginx 學習筆記

nginx配置proxy pass 的 路徑問題 在nginx中配置proxy pass時,如果是按照 匹配路徑時,要注意proxy pass後的url最後的 當加上了 相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分 走 如果沒有 則會把匹配的路徑部分也給 走。locatio...

Nginx學習筆記

常用命令 啟動 start nginx 或者 nginx.exe 停止 nginx.exe s stop 或者 nginx.exe s quit stop是快速停止nginx,quit是完整有序的停止nginx 重啟 nginx.exe s reload 配置資訊修改使用此命令 配置 1 匹配以ro...

nginx學習筆記

mac os x 10.11.5環境 brew install nginx 即可。預設安裝目錄 usr local etc nginx。可以修改目錄下nginx.conf檔案的配置,將8080改為8081,則通過http localhost 8081訪問就可以看到nginx的歡迎介面了。主程序可以處...