轉(zhuǎn)自:https://www.cnblogs.com/Erick-L/p/7066564.html
有時(shí)候你想在一臺(tái)服務(wù)器上為不同的域名運(yùn)行不同的站點(diǎn)就轧。比如www.siteA.com作為博客膳沽,www.siteB.com作為論壇。你可以把兩個(gè)域名的IP都解析到你的服務(wù)器上帆竹,但是沒法在Nginx的根目錄里同時(shí)運(yùn)行兩個(gè)不同的網(wǎng)站。這時(shí)候,你就需要使用虛擬目錄了焦匈。假設(shè)你把博客放在”/home/user/www/blog”下赘淮,論壇放在”/home/user/www/forum”下辕录。下面我們就開始配置了:
在Nginx配置目錄下,創(chuàng)建一個(gè)”vhost”目錄梢卸。本例假設(shè)Nginx是默認(rèn)安裝走诞,配置目錄在”/etc/nginx”
$ sudo mkdir /etc/nginx/vhost
創(chuàng)建siteA的配置文件
$ sudo vi /etc/nginx/vhost/vhost_siteA.conf
輸入以下配置信息
server {
? ? listen? ? ? 80;? ? ? ? ? ? ? ? ? ? ? ? # 監(jiān)聽端口
? ? server_name www.siteA.com siteA.com;? ? # 站點(diǎn)域名
? ? root? /home/user/www/blog;? ? ? ? ? ? ? # 站點(diǎn)根目錄
? ? index index.html index.htm index.php;? # 默認(rèn)導(dǎo)航頁
? ? location / {
? ? ? ? # WordPress固定鏈接URL重寫
? ? ? ? if (!-e $request_filename) {
? ? ? ? ? ? rewrite (.*) /index.php;
? ? ? ? }
? ? }
? ? # PHP配置
? ? location ~ \.php$ {
? ? ? ? fastcgi_pass unix:/var/run/php5-fpm.sock;
? ? ? ? fastcgi_index index.php;
? ? ? ? include fastcgi_params;
? ? }
}
同siteA一樣創(chuàng)建siteB的配置文件,兩者僅有的不同是”server_name”和”root”目錄
$ sudo vi /etc/nginx/vhost/vhost_siteB.conf
server {
? ? ...
? ? server_name www.siteB.com siteB.com;? ? # 站點(diǎn)域名
? ? root? /home/user/www/forum;? ? ? ? ? ? # 站點(diǎn)根目錄
? ? ...
}
打開nginx.conf文件
sudo vi /etc/nginx/nginx.conf
將虛擬目錄的配置文件加入到”http {}”部分的末尾
http {
? ? ...
? ? include /etc/nginx/vhost/*.conf;
}
重啟Nginx服務(wù)
$ sudo service nginx restart
現(xiàn)在訪問www.siteA.com和www.siteB.com蛤高,你將發(fā)現(xiàn)瀏覽器會(huì)打開不同的站點(diǎn)
禁止訪問小技巧
假如你的Nginx根目錄設(shè)在”/home/user/www”蚣旱,你想阻止別人通過”http://IP地址/blog”或”http://IP地址/forum”來訪問你的站點(diǎn),最簡單的方法就是禁止IP地址訪問戴陡。方法如下:
打開Nginx網(wǎng)站默認(rèn)配置文件塞绿,記得先備份
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_bak
$ sudo vi /etc/nginx/sites-available/default
將所有內(nèi)容刪除,只留以下配置
server {
? ? listen 80 default_server;
? ? server_name _;
? ? return404;
}
重啟Nginx后恤批,別人將無法通過IP地址訪問網(wǎng)站了
如果你不想禁止IP地址訪問整個(gè)目錄异吻,只是要防止別人通過IP訪問你的博客和論壇。那就需要禁止”/blog”和”/forum”的目錄訪問喜庞。
打開Nginx網(wǎng)站默認(rèn)配置文件诀浪,同上面一樣,記得先備份
在”server { }”部分加上以下配置
location ^~ /blog/ {
? ? deny all;
}
location ^~ /forum/ {
? ? deny all;
}
重啟Nginx即可