Nginx虛擬主機

  在實際環境中單臺Nginx WEB服務器同時會配置N個網站,也可稱之爲配置N個虛擬域名的主機,即多個域名對應同一個80端 口。 每一個虛擬主機能夠是一個獨立網站、能夠具備獨立域名,同一臺物理機上面的虛擬主機相互之間是獨立。
虛擬主機的類型
基於IP的虛擬主機html

  能夠在一塊物理網卡上綁定多個IP地址。這樣就可以在使用單一網卡的同一個服務器上運行多個基於IP的虛擬主 機。設置IP別名也很是容易,只須配置系統上的網絡接口,讓它監聽額外的IP地址。
基於端口的虛擬主機
  基於端口的虛擬主機配置,使用端口來區分,瀏覽器使用域名或ip地址:端口號訪問。
基於域名的虛擬主機
  基於域名的虛擬主機是最多見的一種虛擬主機。只需配置你的DNS服務器,將每一個主機名映射到正確的IP地址,然 後配置Nginx服務器,令其識別不一樣的主機名就能夠了。這種虛擬主機技術,使不少虛擬主機能夠共享同一個IP地 址,有效解決了IP地址不足的問題。因此,若是沒有特殊要求使你必須用一個基於IP的虛擬主機,最好仍是使用基 於域名的虛擬主機。nginx


nginx.conf 配置文件默認配置塊瀏覽器

nginx 默認配置塊 配置的括號都是成對出現,丟失會報錯。緩存

events {} #內核的參數服務器

http   {} #http 網站配置參數,能夠嵌套多個server,配置代理,緩存,日誌定義等絕大多數功能和第三方模塊的 配置  網絡

server {} #被包含在http段中,用來配置虛擬主機,每個server段表明一個虛擬主機  app

location {} #被包含在server段中,用來匹配域名請求和調用第三方模塊測試

upstream {} #被包含在http段中,轉發的配網站

 

配置基於域名的虛擬主機3d

(1)配置nginx 配置文件(每一個配置項後面都有一個;號,不可丟失,不然報錯)

[root@localhost conf]# cat nginx.conf

worker_processes 1;

events { #內核配置和鏈接數配置

  worker_connections 1024;

}

http { #http網站段,能夠嵌套多個server,配置代理,緩存,日誌定義等絕大多數功能和第三方模塊的配置

  include mime.types;

  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '

           '$status $body_bytes_sent "$http_referer" '

           '"$http_user_agent" "$http_x_forwarded_for"';

  sendfile on;

  keepalive_timeout 65;

  server { #被包含在http段中,用來配置虛擬主機,每個server段表明一個虛擬主機

     listen 80; #端口

     server_name www.test1.com; #域名,能夠配置多個

     access_log logs/test1.com.log main; #網站日誌

  location / { #被包含在server段中,用來匹配域名請求和調用第三方模塊

    root html/test1; #用來存儲網站網頁

    index index.html index.htm; #網站默認打開的索引頁(首頁)

  }

}

  server {

    listen 80;

    server_name www.test2.com;

     access_log logs/test2.com.log main;

    location / {

      root html/test2;

      index index.html index.htm;

    }

  }

}

檢查nginx 配置文件是否正確

/usr/local/nginx/sbin/nginx -t

 

(2)建立www.test1.com和www.test2.com網頁訪問目錄

[root@localhost nginx]# mkdir /usr/local/nginx/html/test{1,2}

[root@localhost nginx]# echo "www.test1.com" > /usr/local/nginx/html/test1/index.html
[root@localhost nginx]# echo "www.test2.com" > /usr/local/nginx/html/test2/index.html

(3)從新啓動nginx

[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s reload

(4)將主機映射寫入hosts文件

(5)Windows測試訪問

相關文章
相關標籤/搜索