虛擬主機就是在同一個Nginx服務器上運行多個網站
配置虛擬主機有三種方法:php
基於域名的虛擬主機 : 不一樣的域名 相同的IP
基於端口的虛擬主機 : 不使用域名、IP來區分不一樣站點的內容,而是用不一樣的TCP端口號
基於IP地址的虛擬主機 : 不一樣的域名 不一樣的IP ( 須要加網絡接口 ,應用的不普遍)
因爲基於IP地址的虛擬主機須要添加網絡接口 使用不普遍,因此下面只對
基於域名的虛擬主機和基於端口的虛擬主機 進行介紹。html
基於域名的虛擬主機nginx
安裝DNS域名解析vim
# rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm # vim /etc/named.conf (修改監聽IP 和 容許any) # vim /etc/named.rfc1912.zones zone "bt.com" IN { type master; file "bt.com.zone"; allow-update { none; }; }; zone "accp.com" IN { type master; file "accp.com.zone"; allow-update { none; }; };
# cd /var/named # cp -p named.localhost bt.com.zone # vim bt.com.zone www IN A 192.168.100.102(將最後一行替換)
修改Nginx 配置文件瀏覽器
# vim /usr/local/nginx/conf/nginx.conf include vhost/*.conf; //末尾括號內添加
# mkdir /usr/local/nginx/conf/vhost //建立一個vhost目錄 # cd /usr/local/nginx/conf/vhost # vim vname.conf //建立一個配置文件方便管理(也能夠在主配置文件中直接配置) server { server_name www.bt.com; location / { root /var/www/bt; index index.html index.php; } } server { server_name www.accp.com; location / { root /var/www/accp; index index.html index.php; }
建立站點目錄和測試頁面服務器
mkdir -p /var/www/accp mkdir -p /var/www/bt echo "this is accp" > /var/www/accp/index.html echo "this is bt" > /var/www/bt/index.html # service named restart # service nginx restart 打開IE瀏覽器 輸入: www.bt.com www.accp.com
基於端口的虛擬主機網絡
步驟和基於域名的虛擬主機類似,修改 vname.confide
# vim /usr/local/nginx/conf/vhost/vname.conf server { listen 192.168.100.102:6666; server_name 192.168.100.102:6666; location / { root /var/www/bt; index index.html index.php; } } server { listen 192.168.100.102:8888; server_name 192.168.100.102:8888; location / { root /var/www/accp; index index.html index.php; } }
# service nginx restart 打開IE瀏覽器 輸入: 192.168.100.102:6666 192.168.100.102:8888