新版本nginx的配置文件被拆分為若干部分
1、主配置文件為nginx.conf
2、與php相關的是fastcgi_params
3、與python相關的是uwsgi_params
4、...其他配置文件
[PS:首先確保占用80端口的服務被停止,nginx默認監聽端口為80]
我們首先可以打開nginx.conf
nginx的虛擬主機配置
如下圖是最簡單的虛擬主機配置文件

與Apache相同,nginx也可以配置多種類型的虛擬主機。
- 基於域名的虛擬主機
- 基於IP的虛擬主機
- 基於端口的虛擬主機
然后我們發現目錄下有site-available與site-enabled兩個目錄,和Apache一模一樣,我們一般采用的方法是在前者下寫好配置文件,到后者目錄下做好一個軟連接!原因如同目錄的名字一樣,前者是存在的網站,而后者是正在使用的目錄!nginx默認會加載site-enabled目錄!前者的目錄下有一個default給我們參考如何寫虛擬主機的配置文件
讓我們來看一下這段:
我們可以發現要配多個虛擬主機基本的格式是
server{……}
server{……}
虛擬主機建立的方式共分為三種:基於IP的虛擬主機,基於端口的虛擬主機和基於名稱的虛擬主機。前兩種由於受到成本和客戶使用習慣的限制,相對使用的沒有基於名稱的虛擬主機多。
1、基於主機名稱的虛擬機配置
server{
listen 80;
server_name www.example.com
}
server{
listen 80;
server_name www.test.com }
server{
listen 80 default_server;
...
}
上述配置中, 定義了三個虛擬主機。前兩個 server, 通過域名“www.example.com” 和 “www.test.com” 可以分別訪問正確的網站。如果瀏覽器直接通過 IP 地址或者其他指向這台機器的域名訪問, 那么訪問到的是第三個 server 配置。第三個 server 為一個默認配置, 請注意它沒有“server_name”指令, 並且“listen”指令包含一個“default_server”關鍵字。
2、基於IP的虛擬主機
server{
listen 10.0.0.88:80; root 88.com;
index index.html;
}
server{
listen 10.0.0.87:80;
root 87.com;
index index.html;
}
[PS:請自行分配相應IP地址,並建立88.com與87.com目錄]
以上配置了兩台虛擬主機,一台 IP 為 10.0.0.88,另一台為 10.0.0.87。它們都監聽 80端口。根據訪問的 IP 地址不同,返回不同網站內容。
3、基於端口的虛擬主機
server{
listen 80;
root 80.com;
}
server{
listen 8080;
root 8080.com;
}
以上配置了兩台虛擬主機,一台使用相同 IP。一台使用 80 端口,另一台使用 8080 端口。訪問 8080 端口時需要在 URL 后加上 :8080 。
