天天看點

nginx配置虛拟主機

準備站點

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

建立a.ttlsa.com的站點根目錄

# mkdir -p /home/website/a.yuliang.com

# cd a.yuliang.com

# echo "this is a.yuliang.com" > index.html   ===建立預設頁

建立b.ttlsa.com站點根目錄

# mkdir -p /home/website/b.yuliang.com

# cd b.yuliang.com

# echo "this is b.yuliang.com" > index.html   ===建立預設頁

    建立日志檔案目錄

# mkdir -p /home/logs/nginx

将日志存放到/home/logs下,這邊是存放nginx日志,是以nginx日志保持在目前的nginx目錄下.日志統一存放相對來說比較規範

配置nginx虛拟主機

增加nginx主配置檔案nginx.conf

先配置nginx日志格式,在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-1.5.1/conf/nginx.conf

server{

server_name a.yuliang.com;

listen 80;

root /home/website/a.yuliangcom;

access_log /home/logs/nginx/a.yuliang.com-access.log main;

location /

{

}

server_name b.yuliang.com;

root /home/website/b.yuliangcom;

access_log /home/logs/nginx/b.yuliang.com-access.log main;

配置講解

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

server_name:虛拟主機的域名,可以寫多個域名,類似于别名,比如說你可以配置成

server_name a.yuliang.com  b.yuliang.com,這樣的話,通路任何一個域名,内容都是一樣的

listen 80,監聽ip和端口,這邊僅僅隻有端口,表示目前伺服器所有ip的80端口,如果隻想監聽127.0.0.1的80,寫法:listen 127.0.0.1:80

root /home/wensite/a.yuliang.com:站點根目錄,你網站檔案存放的地方。

access_log /home/logs/nginx/a.yuliang.com-access.log main:通路日志

location /{} 預設url

重新開機并打開站點

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

# /usr/local/nginx-1.5.1/sbin/nginx -t

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

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

看到以上兩行ok和successful就表示配置問題,啟動nginx

啟動nginx

# /usr/local/nginx-1.5.1/sbin/nginx或service nginx restart

将如下内容增加到C:\Windows\System32\Drivers\etc\hosts

192.168.11.7 a.yuliang.com

192.168.11.7 b.yuliang.com

以上是windows綁定hosts方式,如下是linux方式

echo "192.168.11.7 a.yuliang.com

192.168.11.7 b.yuliang.com" >> /etc/hosts

使用浏覽器通路這兩個站點。我這邊使用curl來通路。

[root@ns conf]# curl http://a.yuliang.com

this is a.yuliang.com //a站點内容

[root@ns conf]# curl http://b.yuliang.com

this is b.yuliang.com! //b站點内容

    關閉nginx

/usr/local/nginx-1.5.1/sbin/nginx -s stop

    重載nginx

/usr/local/nginx-1.5.1/sbin/nginx -s reload  =====修改配置之後reload

本文轉自  亮公子  51CTO部落格,原文連結:http://blog.51cto.com/iyull/1864396

繼續閱讀