Windows下Nginx Virtual Host多站點配置詳解 php
此教程適用於Windows系統已經配置好Nginx+Php+Mysql環境的同窗。html
若是您還未搭建WNMP環境,請查看 windows7配置Nginx+php+mysql教程。mysql
先說明一下配置多站點的目的:在生產環境中,若是將系統全部代碼文件都放在公開目錄中,則很容易被查看到系統源碼,這樣是很不安全的,因此須要只公開index.php的入口文件目錄。而同一個服務器中,可能運行多個系統,這樣就必須公開多個入口文件目錄,以便用不一樣的域名訪問不一樣的系統。因此這就須要使用virtual host實現多站點。nginx
下面直接進入主題:sql
一.配置virtualhost多站點windows
以www.lee.com和www.lee1.com爲兩個栗子。瀏覽器
1. 定義站點域名。安全
首先修改系統hosts文件(hosts文件位於C:\Windows\System32\drivers\etc文件夾內)。在修改hosts文件以前要先肯定有修改此文件的權限,鼠標右鍵hosts文件,點擊屬性,以下圖所示點擊編輯修改用戶的權限爲能夠寫入。服務器
而後在hosts文件底部,仿照以下添加:(根據需求可隨意添加)測試
127.0.0.1 www.lee.com
127.0.0.1 www.lee1.com
2. 建立站點公開文件目錄,並建立測試文件
我設置的文件目錄如圖所示:
nginx文件夾爲nginx相關內容,php爲php相關內容。
其中lee和lee1位公開的兩個文件目錄,文件目錄path和文件夾名能夠根據站點域名作任意更改。
在lee和lee1文件夾中添加兩個php文件用於測試。
在lee文件夾中添加index.php,並編輯內容爲:
<?php echo "www.lee.com<br/>"; echo phpinfo(); ?>
在lee1文件夾中添加index.php,並編輯內容爲:
<?php echo "www.lee1.com<br/>"; echo phpinfo(); ?>
3. 修改nginx.conf配置文件
在該配置文件中以下代碼位置進行修改:(nginx.conf配置位於nginx/conf/文件夾內)
# another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #}
將上述配置代碼修改成:
# another virtual host using mix of IP-, name-, and port-based configuration # #modify by lee 20160902 for virtual host www.lee.com -s server { listen 80; access_log logs/lee.access.log; error_log logs/lee.error.log; server_name www.lee.com; location / { root C:/wnmp/lee; index index.html index.htm index.php; } location ~ \.php$ { root C:/wnmp/lee; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } #modify by lee 20160902 for virtual host www.lee.com -e #modify by lee 20160902 for virtual host www.lee1.com -s server { listen 80; access_log logs/lee1.access.log; error_log logs/lee1.error.log; server_name www.lee1.com; location / { root C:/wnmp/lee1; index index.html index.htm index.php; } location ~ \.php$ { root C:/wnmp/lee1; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } #modify by lee 20160902 for virtual host www.lee1.com -e
其中server_name爲hosts文件中設置的站點域名,access_log和error_log爲日誌文件,文件名作響應更改。
root爲 步驟2設置的站點公開文件目錄。
4. 測試
重啓Nginx和php-cgi服務,啓動方法詳見個人上一篇文章------windows7配置Nginx+php+mysql教程 (步驟4(5))
打開瀏覽器,訪問 www.lee.com
訪問 www.lee1.com
VirtualHost多站點配置成功!
下一篇文章會是: Windows下Nginx配置Openssl實現Https訪問(包含證書生成)
參考:http://www.jb51.net/article/27533.htm