nginx服務器支持配置多站點,我們可以通過配置子域名讓你的一個域名下放置多個項目。
那麼如何實現這個過程呢?
網絡上的許多方案,有些寫的過於繁雜,有些則是配置有誤,或者說,有些配置項是要根據自己的主機實際環境來配置的。
一.假設你的項目路徑是放在 /home/wwwroot/路徑下,nginx的安裝路徑是 /usr/local/nginx/ 目錄下
二.安裝好nginx都會有默認的配置文件。文件路徑為/usr/local/nginx/conf/nginx.conf
三.現在你需要將你的項目映射到多個域名下。首先查看nginx.conf文件最後一行,它表示include了當前vhost目錄下的所有.conf文件。此時,假如沒有vhost文件我們可以創建這個文件夾。
access_log /home/wwwlogs/access.log access; } include vhost/*.conf;
四.然後在vhost目錄下新建一個你需要添加的域名配置文件,命名自定義。然後我們可以往裡面添加內容。下面可以講解一下幾個具體的配置項目(簡單的略過)。
1.index index.html index.php 表示默認的定位的文件,假如直接訪問域名,會定位到index.html或者index.php文件
2.fastcgi_pass 這個命令是指定將http代理到哪個fastcgi服務端接口
3.fastcgi_index 該指令設置的文件會被附加到URI的後面並保存在變量$fastcgi_script_name中
4.fastcgi_param SCRIPT_FILENAME 腳本文件請求的路徑
5.include fastcgi_params; 包含fastcgi_params中的所有參數
server{ listen 80; server_name www.news.com; root /home/wwwroot/news/; location /{ index index.html index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/tmp/fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
五.假如我們是在本機測試,設置了虛擬域名之後,我們如何在自己的linux主機上訪問呢?
1.我們可以通過修改/etc/hosts來讓域名映射到自己的主機上。比如我之前定義的www.news.com
2.我們打開hosts文件,在後面添加 127.0.0.1 www.news.com
3.假如修改hosts文件還是無法訪問。那說明還需要修改network文件。打開/etc/sysconfig/network文件,修改為 NETWORKING=yes,然後service network restart,重啟network