1. 程式人生 > >nginx配置虛擬主機

nginx配置虛擬主機

nginx 虛擬主機

準備站點目錄:

我們站點統一放到/data/site下,每個站點根目錄名稱都和域名相同,具體如下。

新建a.deng.com站點根目錄:

# mkdir -pv /data/site/a.deng.com

新建站點a.deng.com主頁

# echo "this is a.deng.com" >> /data/site/a.deng.com/index.html

新建b.deng.com站點根目錄:

# mkdir -pv /data/site/b.deng.com

新建站點b.deng.com主頁

# echo "this is b.deng.com" >> /data/site/b.deng.com/index.html

新建統一日誌目錄

我們統一講日誌存放到/data/logs下,這邊是存放nginx日誌,所以nginx日誌保持在當前的nginx目錄下.日誌統一存放相對來說比較規範

# mkdir -p /data/logs/nginx

創建虛擬主機配置文件:

# mkdir -p /usr/local/nginx/conf/vhosts

在nginx.conf的http{}中增加:

include /usr/local/nginx/conf/vhosts/*.conf;

配置虛擬主機:

增加nginx.conf的配置---配置日誌格式,去掉#註釋符

#log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘

# ‘$status $body_bytes_sent "$http_referer" ‘

# ‘"$http_user_agent" "$http_x_forwarded_for"‘;

配置nginx的虛擬主機文件:

# vim /usr/local/nginx/conf/vhosts/a.deng.conf

server {

listen 80;

server_name a.deng.com;

root /data/site/a.deng.com;

index index.php index.htm index.html;

location ~ \.php$ {

include fastcgi_params;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

access_log /data/logs/nginx/a.deng.com-access.log main;

}

# vim /usr/local/nginx/conf/vhosts/b.deng.conf

server {

listen 80;

server_name b.deng.com;

root /data/site/b.deng.com;

index index.php index.htm index.html;

location ~ \.php$ {

include fastcgi_params;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

access_log /data/logs/nginx/b.deng.com-access.log main;

}

  • 配置講解

server{}:配置虛擬主機必須有這個段。

server_name:虛擬主機的域名,可以寫多個域名,類似於別名,比如說你可以配置成

server_name b.deng.com c.deng.com d.deng.com,這樣的話,訪問任何一個域名,內容都是一樣的

listen 80,監聽ip和端口,這邊僅僅只有端口,表示當前服務器所有ip的80端口,如果只想監聽127.0.0.1的80,寫法如下:

listen 127.0.0.1:80

root /data/site/b.deng.com:站點根目錄,你網站文件存放的地方。註:站點目錄和域名盡量一樣,養成一個好習慣

access_log /data/logs/nginx/b.deng.com-access.log main:訪問日誌

重啟並打開站點

nginx -t 檢查nginx配置是否ok,命令如下:

# /usr/lcoal/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果看到以上兩行ok和successful就表示配置問題,那接下來我們啟動nginx

啟動nginx

# /usr/local/nginx/sbin/nginx

使用curl進行訪問網站,先在linux下綁定hosts,進行DNS解析:

vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.139 a.deng.com b.deng.com

[[email protected] vhosts]# curl a.deng.com

this is a.deng.com

[[email protected] vhosts]# curl b.deng.com

this is b.deng.com


nginx配置虛擬主機