Nginx模塊及配置虛擬主機

一、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)測試:

相關文章
相關標籤/搜索