Nginx學習教程

2021-10-25 11:03:32 字數 4264 閱讀 6697

目錄

一、nginx的優點

二、在linux安裝nginx

三、nginx服務啟動與停止

四、nginx配置檔案解讀

五、nginx訪問許可權

六、nginx設定虛擬主機(服務)

七、nginx反向**與負載均衡

八、nginx適配pc與移動端

九、開啟gzip壓縮

十、nginx.conf 檔案截圖

執行以下指令碼

2.目錄建立

3.檢視可用的nginx源

yum list | grep nginx

4.自行配置最新的nginx源

vim /etc/yum.repos.d/nginx.repo

填寫以下**

[nginx]

name=nginx repo

baseurl=

gpgcheck=0

enabled=1

5.執行安裝nginx命令

yum install nginx

6.檢視nginx版本

nginx -v

1、使用systemctl命令啟動

systemctl start nginx.service

2、systemctl 停止

systemctl stop nginx.service

3、重啟nginx服務

systemctl restart nginx.service

4、重新載入配置檔案

在重新編寫或者修改nginx的配置檔案後,都需要作一下重新載入,這時候可以用nginx給的命令

nginx -s reload

5、檢視埠號

在預設情況下,nginx啟動後會監聽80埠,從而提供http訪問,如果80埠已經被占用則會啟動失敗。我麼可以使用netstat -tlnp命令檢視埠號的占用情況。

1、nginx.conf檔案

#執行使用者,預設即是nginx,可以不進行設定

user  nginx;

#nginx程序,一般設定為和cpu核數一樣

worker_processes  1;   

#錯誤日誌存放目錄

error_log  /var/log/nginx/error.log warn;

#程序pid存放位置

#error_page  404              /404.html;   # 配置404頁面

#error_page  404          www.baidu.com;   # 還可以配置為鏈結位址

# redirect server error pages to the static page /50x.html

error_page   500 502 503 504  /50x.html;  #錯誤狀態碼的顯示頁面,配置後需要重啟

location = /50x.html

}1、設定訪問許可權

可以直接在default.conf裡進行配置

location /

2、複雜訪問控制許可權匹配

在工作中,訪問許可權的控制需求更加複雜,例如,對於**下的img(目錄)是執行所有使用者訪問,但對於**下的admin目錄則只允許公司內部固定ip訪問。這時候僅靠deny和allow這兩個指令,是無法實現的。我們需要location塊來完成相關的需求匹配。

上面的需求,配置**如下:

location =/img

location =/admin

=號代表精確匹配,使用了=後是根據其後的模式進行精確匹配。這個直接關係到我們**的安全,一定要學會。

3、使用正規表示式設定訪問許可權

只有精確匹配有時是完不成我們的工作任務的,比如現在我們要禁止訪問所有php的頁面,php的頁面大多是後台的管理或者介面**,所以為了安全我們經常要禁止所有使用者訪問,而只開放公司內部訪問的。

**如下:

location ~\.php$

這樣我們再訪問的時候就不能訪問以php結尾的檔案了。

1、基於埠號配置虛擬主機

可以在conf.d資料夾下再新建乙個檔案8000.conf

server

2、基於ip的虛擬主機

基於ip和基於埠的配置幾乎一樣,只是把server_name選項,配置成ip就可以了

server

這時侯訪問112.1113.180.200:8000就可以了。

3、基於網域名稱配置虛擬主機

基於ip和基於網域名稱類似,只是將ip位址換成網域名稱而已,使用到的網域名稱要提前解析好。

server

}1、配置反向**的好處

2、配置反向**和負載均衡

server

}upstream tomcatserver1   

server  

}3、其他配置

反向**還有些常用的指令:

proxy_set_header :在將客戶端請求傳送給後端伺服器之前,更改來自客戶端的請求頭資訊。

proxy_connect_timeout:配置nginx與後端**伺服器嘗試建立連線的超時時間。

proxy_read_timeout : 配置nginx向後端伺服器組發出read請求後,等待相應的超時時間。

proxy_send_timeout:配置nginx向後端伺服器組發出write請求後,等待相應的超時時間。

proxy_redirect :用於修改後端伺服器返回的響應頭中的location和refresh。

在/usr/share/nginx/目錄下新建兩個資料夾,分別為:pc和mobile目錄。並在目錄中分別建立index.html

1.修改nginx配置檔案

server

index index.html;}}

1、配置項說明

gzip : 該指令用於開啟或 關閉gzip模組。

gzip_buffers : 設定系統獲取幾個單位的快取用於儲存gzip的壓縮結果資料流。

gzip_comp_level : gzip壓縮比,壓縮級別是1-9,1的壓縮級別最低,9的壓縮級別最高。壓縮級別越高壓縮率越大,壓縮時間越長。

gzip_disable : 可以通過該指令對一些特定的user-agent不使用壓縮功能。

gzip_min_length:設定允許壓縮的頁面最小位元組數,頁面位元組數從相應訊息頭的content-length中進行獲取。

gzip_http_version:識別http協議版本,其值可以是1.1.或1.0.

gzip_proxied : 用於設定啟用或禁用從**伺服器上收到相應內容gzip壓縮。

gzip_vary : 用於在響應訊息頭中新增vary:accept-encoding,使**伺服器根據請求頭中的accept-encoding識別是否啟用gzip壓縮。

gzip_types : 壓縮的檔案型別。

2、配置示例

1、配置案例

2、配置https 服務

server

}參考自

nginx教程(二) nginx安裝教程

目錄 在開始之前 首先,安裝下編譯環境和安裝編譯原始碼所需要的工具和庫,執行命令 yum install gcc gcc c ncurses devel perl 否則,安裝安裝編譯時會報如下錯誤 建立目錄 mk usr local software package 然後進入 cd usr loca...

Nginx教程 一 Nginx入門教程

nginx是一款輕量級的web伺服器 反向 伺服器及電子郵件 imap pop3 伺服器,並在乙個bsd like協議下發行。由俄羅斯的程式設計師igorsysoev所開發,供 大型的入口 及搜尋引擎rambler 俄文 使用。其特點是占有記憶體少,併發能力強,事實上nginx的併發能力確實在同型別...

Nginx安裝教程

nginx 是一款輕量級的 web伺服器 反向 伺服器及電子郵件 imap pop3 伺服器,並在乙個 bsd like 協議下發行。由俄羅斯的程式設計師 igor sysoev 所開發,供 大型的入口 及搜尋引擎 rambler 俄文 使用。其特點是占有 記憶體少,併發能力強,事實上 nginx ...