對於小流量的網站來講,在nginx服務器上只運行一個網站太浪費服務器資源了,若是咱們的公司有多個網站業務,在一臺服務器上同時運行多個網站,不由能充分利用起服務器的性能,還能減小公司成本。那麼這個功能如何實現呢?html
咱們先來看一看nginx的配置文件:nginx
vim /usr/local/nginx/conf/nginx.confvim
http 服務器
{app
server ide
{性能
listen 81; #監聽的端口,前邊可添加IP。網站
server_name localhost; #主機名spa
access_log logs/access.log combined; #日誌位置日誌
location /
{
root html; #網頁文件存放的目錄
index index.html index.htm; #默認首頁文件,優先級從左到右
}
}
}
只須要看這一部分就能夠了。每個server模塊(紅色部分)就至關於一臺獨立的主機。咱們只須要在http模塊中添加sever便可。
示例:
若是咱們有a、b兩個網站,分別爲www.a.com和www.b.com,同時在這臺nginx中運行。首先須要在網站主目錄中添加兩個目錄如www.a.com和www.b.com:
mkdir /usr/local/nginx/html/www.a.com
mkdir /usr/local/nginx/html/www.b.com
在兩個目錄中分別添加兩個index.html文件內容分別爲:
This is A!
This is B!
而後修改nginx配置文件的http部份內容爲:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 81;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 81;
server_name www.a.com;
access_log logs/www.a.com.access.log combined;
location / {
root html/www.a.com;
index index.html index.htm;
}
}
server {
listen 81;
server_name www.b.com;
access_log logs/www.b.com.access.log combined;
location / {
root html/www.b.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
而後重啓nginx服務後訪問網站:
http://115.159.184.248:81/a/ -------- This is A!
http://115.159.184.248:81/b/ -------- This is B!
這樣,簡單的虛擬主機便配置好了。