虚拟主机3种方式nginx/apache
一:基于多IP的方式
Nginx:
server {
listen 80;
server_name 192.168.44.99;
location / {
root html2;
index index.html;
}
}
server {
listen 80;
server_name 172.16.44.66;
location / {
root html;
index index.html;
}
}
Apache:
root@ubuntu:~# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.44.66:80> #虚拟主机1站点配置,需要添加IP地址,对应站点区域
DocumentRoot “/var/www/html/testweb1”
ServerName www.test.com
…
<VirtualHost 192.168.44.99:80> #虚拟主机2站点配置,需要添加IP地址,对应站点区域
DocumentRoot “/var/www/html/testweb2”
ServerName www.test2.top
…
vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf ##加载虚拟主机的配置文件
二:基于多端口的方式
Nginx:
server {
listen 81;
server_name localhost;
location / {
root html2;
index index.html;
}
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html;
}
}
Apache:
root@ubuntu:~# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.44.66:80> #虚拟主机1站点配置,需要添加IP地址,对应站点区域
DocumentRoot “/var/www/html/testweb1”
ServerName www.test.com
…
<VirtualHost 192.168.44.66:90> #虚拟主机2站点配置,需要添加IP地址,对应站点区域
DocumentRoot “/var/www/html/testweb2”
ServerName www.test2.top
…
vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf ##加载虚拟主机的配置文件
vi /usr/local/httpd/conf/httpd.conf #省略部分内容
Include conf/extra/httpd-vhosts.conf #加载独立的配置文件
Listen 192.168.44.66:80 #监听 88 端口
Listen 192.168.44.66:90 #监听 8080 端口
三:基于多域名的方式
Nginx:
server {
listen 80;
server_name xs.game2.co;
location / {
root html2;
index index.html;
}
}
server {
listen 80;
server_name xs.game.co;
location / {
root html;
index index.html;
}
}
Apache:
root@ubuntu:~# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80> #虚拟主机www.test.com站点配置
DocumentRoot “/var/www/html/testweb1” #网页文件目录
ServerName www.test.com #域名配置
ErrorLog “logs/www.testweb1.com.error_log” #日志文件位置
CustomLog “logs/www.testweb1.com.access_log” common
<Directory “/var/www/html”>
Require all granted #设置目录权限
<VirtualHost *:80> #虚拟主机www.test2.com站点配置
DocumentRoot “/var/www/html/testweb2”
ServerName www.test2.com
ErrorLog “logs/www.testweb2.com.error_log”
CustomLog “logs/www.testweb2.com.access_log” common
<Directory “/var/www/html”>
Require all granted
root@ubuntu:~# vim /etc/httpd.conf
#ServerName 前面要加# ,注释原来的域名,不使用
Include conf/extra/httpd-vhosts.conf #加载虚拟主机的配置文件,开启虚拟主机模块功能