linxu下的nginx的安裝和配置

2021-10-09 05:42:17 字數 3498 閱讀 8514

1、準備工作

nginx的安裝依賴於以下三個包,意思就是在安裝nginx之前首先必須安裝一下的三個包,注意安裝順序如下:

1 ssl功能需要openssl庫,直接通過yum安裝: #yum install openssl

2 gzip模組需要zlib庫,直接通過yum安裝: #yum install zlib

3 rewrite模組需要pcre庫,直接通過yum安裝: #yum install pcre

2、安裝nginx依賴項和nginx

1 使用yum安裝nginx需要包括nginx的庫,安裝nginx的庫

#rpm -uvh

2 使用下面命令安裝nginx

#yum install nginx

3 啟動nginx

#service nginx start

3、直接瀏覽器訪問localhost就會出現nginx的歡迎介面表示你安裝成功了,否則就是安裝失敗了

檢視已開放的埠:firewall-cmd --list-ports

預設80埠加入防火牆訪問白名單中:firewall-cmd --permanent --zone=public --add-port=80/tcp

使用firewall-cmd --reload命令使其生效,之後可以再檢視下開放的埠。訪問ip:80埠,如下則表示安裝成功

4、配置nginx

centos安裝nginx後,安裝在了 /etc/nginx/目錄下,你可以開啟/etc/nginx/conf.d/default/conf檢視裡面的配置,包括監聽埠,網域名稱和nginx訪問的根目錄

以上安裝方法nginx的配置檔案位於

/usr/local/nginx/conf/nginx.conf
nginx配置檔案常見結構的從外到內依次是「http」「server」「location」等等,預設的繼承關係是從外到內,也就是說內層塊會自動獲取外層塊的值作為預設值。

接收請求的伺服器需要將不同的請求按規則**到不同的後端伺服器上,在 nginx 中我們可以通過構建虛擬主機(server)的概念來將這些不同的服務配置隔離。

server
例如我們筆戈玩下的兩個子專案 passport 和 wan 就可以通過在 nginx 的配置檔案中配置兩個 server,servername 分別為 passport.bigertech.com 和 wan.bigertech.com。這樣的話不同的 url 請求就會對應到 nginx 相應的設定,**到不同的後端伺服器上。

這裡的listen指監聽埠,server_name用來指定ip或網域名稱,多個網域名稱對應統一規則可以空格分開,index用於設定訪問的預設首頁位址,root指令用於指定虛擬主機的網頁跟目錄,這個地方可以是相對位址也可以是絕對位址。

通常情況下我們可以在 nginx.conf 中配置多個server,對不同的請求進行設定。就像這樣:

server 

server

但是當 server 超過2個時,建議將不同對虛擬主機的配置放在另乙個檔案中,然後通過在主配置檔案 nginx.conf 加上 include 指令包含進來。更便於管理。

include vhosts/*.conf;
就可以把vhosts的檔案都包含進去啦。

每個 url 請求都會對應的乙個服務,nginx 進行處理**或者是本地的乙個檔案路徑,或者是其他伺服器的乙個服務路徑。而這個路徑的匹配是通過 location 來進行的。我們可以將 server 當做對應乙個網域名稱進行的配置,而 location 是在乙個網域名稱下對更精細的路徑進行配置。

以上面的例子,可以將root和index指令放到乙個location中,那麼只有在匹配到這個location時才會訪問root後的內容:

location /
location 匹配規則

~      波浪線表示執行乙個正則匹配,區分大小寫

~* 表示執行乙個正則匹配,不區分大小寫

^~ ^~表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄

= 進行普通字元精確匹配

匹配例子:

請求:/ -> 符合configuration a

/documents/document.html -> 符合configuration b

/images/1.gif -> 符合configuration c

/documents/1.jpg ->符合 configuration d

靜態檔案對映

訪問檔案的配置主要有root 和 aliasp's 兩個指令。這兩個指令的區別容易弄混:

alias

alias後跟的指定目錄是準確的,並且末尾必須加 /。

location /c/
如果訪問站點http://location/c訪問的就是/a/目錄下的站點資訊。

root

root後跟的指定目錄是上級目錄,並且該上級目錄下要含有和location後指定名稱的同名目錄才行。

location /c/
這時訪問站點http://location/c訪問的就是/a/c目錄下的站點資訊。

如果你需要將這個目錄展開,在這個location的末尾加上「autoindex on; 」就可以了

**配置起來很簡單比如我要將所有的請求到轉移到真正提供服務的一台機器的 8001 埠,只要這樣:

location /
這樣訪問host時,就都被**到 172.16.1.1的8001埠去了。

負載均衡

upstream myserver; 

location /

我們在 upstream 中指定了一組機器,並將這個組命名為 myserver,這樣在 proxypass 中只要將請求轉移到 myserver 這個 upstream 中我們就實現了在四台機器的反向**加負載均衡。其中的 ip_hash 指明了我們均衡的方式是按照使用者的 ip 位址進行分配。另外還有輪詢、指定權重輪詢、fair、url_hash幾種排程演算法。

nginx -t
或者

nginx -tc [nginx檔案位址]

Linux下nginx的安裝

nginx engine x 是乙個高效能的http和反向 伺服器,是由俄羅斯人igor sysoev建立的專案,超輕量級,超快處理能力。目前使用的nginx版本是0.7.61 nginx的官言 為 http nginx.net 安裝pcre tar xzvf pcre 7.9.tar.gz cd ...

Linux下Nginx的安裝

nginx是目前比較通用的伺服器,由俄羅斯人開發,最大的特點就是負載均衡,平滑啟動。本篇部落格主要講解nginx的安裝。tar zxvf pcre 8.35.zip進行解壓縮,之後 輸入 cd pcre 8.35進入pcre安裝目錄,然後 configure make make install。這樣...

ubuntu下nginx的安裝

接下來總結nginx的兩種安裝方式,命令安裝和原始碼編譯安裝,整理於網路,記錄下來便於日後檢視 一 nginx的命令安裝 1 安裝 software properties common 包。sudo apt get software properties common2 新增nginx庫到apt g...