nginx配置虛擬機器主機vhost

來源:互聯網
上載者:User
首先談一點自己的理解

   所謂虛擬機器主機,是說通過幾個不同的url地址,都能到達nginx環境,只不過針對不同的url,處理的邏輯不同。    nginx支援虛擬機器主機,但是瀏覽器等用戶端不知道,所以虛擬機器主機的幾個地址,應該是都指向nginx所在的ip地址,虛擬機器主機功能才能正常。

下面來說一下nginx環境下虛擬機器主機的配置

假設我們需要配置的虛擬機器主機網域名稱為mail.zjc.com

虛擬機器主機存放目錄為/var/www/mail.zjc.com/web
sudo mkdir -p /var/www/mail.zjc.com/web

建立nginx虛擬機器主機設定檔
sudo gedit /etc/nginx/sites-available/mail.zjc.com.vhost
內容為(其中php域根據本機php應用情況配置)

server {       listen80;       server_name mail.zjc.com;       root /var/www/mail.zjc.com/web;       if ($http_host != "mail.zjc.com") {                 rewrite ^http://mail.zjc.com$request_uripermanent;       }       index index.php index.html;       location = /favicon.ico {                log_not_foundoff;                access_logoff;       }       location = /robots.txt {                allow all;                log_not_foundoff;                access_logoff;       }       # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!location~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {                deny all;        }       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).location~ /\. {                deny all;                access_logoff;                log_not_foundoff;       }       location~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {                expires max;                log_not_foundoff;       }       location~ \.php$ {            try_files$uri =404;            fastcgi_split_path_info ^(.+\.php)(/.+)$;            fastcgi_passunix:/var/run/php5-fpm.sock;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            include fastcgi_params;        }}

因為nginx的主設定檔nginx.conf會自動應用sites-enabled中的設定檔,所以我們需要在sites-enabled中建立一個mail.zjc.com.vhost檔案的連結

cd /etc/nginx/sites-enabledsudo ln -s /etc/nginx/sites-available/mail.zjc.com.vhost www.zjc.com.vhost

重新載入nginx使配置生效
sudo /etc/init.d/nginx reload

好了,接下來在/var/www/mail.zjc.com/web目錄下建立一些檔案(例如index.php)就可以通過http://mail.zjc.com/index.php來訪問了。BTW,記得在hosts中或者DNS上設定mail.zjc.com指向nginx所在的IP地址。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

以上就介紹了nginx配置虛擬機器主機vhost,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.