一、Nginx的2組主要的模塊html
(1)core modules (必需,核心模塊)linux
包括:Main、Eventsnginx
(2)Standard HTTP modules(雖然不是必需,可是缺省都會安裝,不建議改動)瀏覽器
缺省條件下,這兩組模塊都會安裝,修改配置文件,主要是根據2組模塊的功能來修改模塊的參數。可經過nginx官網查看模塊的功能。app
二、Nginx的配置文件。curl
靜態文件只須要修改 nginx.conf 就能夠,動態文件須要結合 fastcgi.conf 和 fastcgi_params 修改。帶有 default 的文件和上面的文件是同樣的。測試
三、nginx主配置文件nginx.confurl
Nginx的配置文件是一個純文本文件,位於Nginx安裝目錄的conf目錄下,整個配置文件是以塊的形式組織的。每一個塊通常以一個大括號「{}」來表示,塊能夠分爲幾個層次,整個配置文件中Main指令位於最高層,在Main層下面能夠有Events、HTTP等層級,而在HTTP層中又包含有Server層,即server block,server block中又能夠分爲location層,而且一個server block中能夠包含多個location block。spa
四、配置Nginx虛擬主機3d
(1)在配置文件中添加虛擬主機
一個server標籤就是一個虛擬主機
server { listen 80; server_name www.baidu.com; root html/www; index index.html index.htm; } server { listen 80; server_name bbs.baidu.com; root html/bbs; index index.html index.htm; } server { listen 80; server_name blog.baidu.com; root html/blog; index index.html index.htm; }
(2)檢查語法並啓動nginx
/application/nginx/sbin/nginx -t #檢查語法
/application/nginx/sbin/ngixn #啓動Nginx
/application/nginx/sbin/nginx -s reload #平滑重啓
(3)建立三個目錄,和上面虛擬主機的域名對應
mkdir /application/nginx/html/{www,bbs,blog}
(4)使用循環的方法在三個目錄下建立標籤頁,並寫入內容
for n in www bbs blog;do echo "$i.baidu.com" >/application/nginx/html/$n/index.html;done #建立index的標籤頁 for n in www bbs blog;do cat /application/nginx/html/$n/index.html;done #查看三個標籤的內容
(5)在本機的hosts文件中添加虛擬主機
C:\Windows\System32\drivers\etc\hosts
(6)本地ping測試:
(7)瀏覽器測試:
五、配置虛擬主機流程:
(1)複製一個完成的server標籤段到結尾,注意,要放在http的結束大括號前,也就是server標籤段放入http標籤。
(2)更改server_name及對應網頁的root根目錄
(3)檢查配置文件語法, 平滑重啓服務。
(4)建立server_name對應網頁的根目錄,而且創建測試,若是沒有index首頁會出現403錯誤。
(5)在客戶端對server_name的主機名作host解析和DNS配置,並檢查(ping域名看返回的結果)
(6)瀏覽器訪問,或在linux客戶端作host解析,用wget或curl訪問。
六、添加Nginx狀態信息:
(1)在配置文件中添加一個serer標籤
#status server { listen 80; server_name status.baidu.com; stub_status on; #狀態模塊 - 打開 access_log off; #不記錄日誌 }
(2)本地hosts文件中添加一個域名
(3)ping測試:
返回正常。
(4)瀏覽器訪問 status.baidu.com
狀態說明:
①Active connections
Nginx正處理的活動鏈接數爲2個
②server accepts handled requests
第一個server,表示nginx啓動到如今共處理了4個鏈接
第二個accepts,表示nginx啓動到如今共成功建立4次握手
請求丟失數=(握手數-鏈接數),本次狀態顯示沒有丟失請求。
第三個handled requests,表示總共處理了81次請求
③Reading:nginx讀取到客戶端的Header信息數
④Writing:nginx返回給客戶端的Header信息數
⑤Waiting:nginx已經處理完正在等候下一次請求指令的駐留鏈接,開啓keep-alive的狀況下。
這個值等於 active-(reading+writing)
七、重定向訪問的網址:
(1)添加一個server標籤段
server { listen 80; server_name baidu123.com; rewrite ^/(.*) http://bbs.baidu.com/$1 permanent; }
若是訪問的是baidu123.com那麼重寫網址到bbs。將 / 後面的全部內容都重定向到bbs.baidu.com ,括號爲分組,$1爲將第一個分組的內容,permanent表示永久生效。
(2)將baidu123.com寫入到本地hosts文件中。測試:輸入baidu123.com將自動重定向到bbs.baidu.com
八、基於端口的配置:
(1)修改server標籤段的端口號
server { listen 8000; #端口改成8000 server_name bbs.baidu.com; root html/bbs; index index.html index.htm; }
(2)測試:
使用IP地址解析:
九、基於IP的配置
(1)將server標籤修改成IP
server { listen 192.168.3.138:80; server_name www.baidu.com; root html/www; index index.html index.htm; }
(2)測試: