如果有多个域名,想实现不同的域名访问不同的网站,以及不同的端口对应不同的网站,都可以使用apache的虚拟主机配置来实现。
- 基于ip地址
一个ip对应一个网站。例如实现如下操作:
新建一个192.168.52.132的网站,文件存放在/www/132,内容显示为This is 192.168.52.132
新建一个192.168.52.133的网站,文件存放在/www/133,内容显示为This is 192.168.52.133
- 增加网站html文件
在根目录下新建www目录,以下再建132 133目录
Echo This is 192.168.52.132 > /www/132/index.html
Echo This is 192.168.52.133 > /www/133/index.html
- 首先配置网络:
修改当前ip地址及增加一个ip地址,并开启网络
nmcliconnection modify eno16777736 ipv4.addresses 192.168.52.132/24
nmcliconnection modify eno16777736 +ipv4.addresses 192.168.52.133/24
nmcliconnection up eno16777736
- 修改配置文件
在主配置文件/etc/httpd/conf/httpd.conf最后有如下配置:
ServerRoot"/etc/httpd"
IncludeOptional conf.d/*.conf
作用是是配置文件包含/etc/httpd/conf.d 底下所有以.conf 结尾的文件
因此可将虚拟主机文件都放在此文件目录下,便于区分与维护
apache提供了个模板可以复制过来修改即可
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhosts.conf
配置文件示例
<Directory "/www"> 使网站文件可访问
AllowOverride None
Options None
Require all granted
</Directory>
<VirtualHost 192.168.52.132:80> 指定虚拟主机对应的ip及端口
ServerAdminwebmaster@dummy-host.example.com 管理员邮箱
DocumentRoot"/www/132" 网站根目录
ServerName 192.168.52.132
ErrorLog"/var/log/httpd/132-error_log" 错误日志位置
CustomLog"/var/log/httpd/132-access_log" common 访问日志位置
</VirtualHost>
<VirtualHost192.168.52.133:80>
ServerAdminwebmaster@dummy-host2.example.com
DocumentRoot "/www/133"
ServerName 192.168.53.133
ErrorLog"/var/log/httpd/133-error_log"
CustomLog"/var/log/httpd/133-access_log" common
</VirtualHost>
二. 基于端口
基于不同端口访问不同网站
1、新建一个网站,文件存放在/www/80/,内容显示为This is port 80.
2、新建一个网站,文件存放在/www/10000/,内容显示为This is port 10000.
添加配置:
vim/etc/httpd/conf.d/vhost.conf
LISTEN 10000
<VirtualHost192.168.200.150:10000>
ServerAdminwebmaster@dummy-host2.example.com
DocumentRoot "/www/10000"
ServerName 192.168.200.150:10000
ErrorLog"/var/log/httpd/dummy-host2.example.com-error_log"
CustomLog"/var/log/httpd/dummy-host2.example.com access_log" common
</VirtualHost>
三. 基于域名
例如实现以下操作:
1、新建一个网站,域名为www.haha.com,同时可通过www1.haha.com访问,文件存放在/www/haha目录,网页内容为This is www.haha.com,
2、新建一个网站,域名为www.xixi.com,文件存放在/www/xixi目录,网页内容为This is www.xixi.com
在window下添加如下指令:在windows的hosts文件中添加以下内容,IP地址按照自己主机的情况填写 window—system32-
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
192.168.200.150 www.haha.com www1.haha.com
192.168.200.100 www.xixi.com
<VirtualHost192.168.200.150:80>
ServerAdminwebmaster@dummy-host2.example.com
DocumentRoot "/www/haha"
ServerName www.haha.com
ServerAlias www1.haha.com
ErrorLog"/var/log/httpd/dummy-host2.example.com-error_log"
CustomLog"/var/log/httpd/dummy-host2.example.com-access_log" common
</VirtualHost>
<VirtualHost192.168.200.100:80>
ServerAdminwebmaster@dummy-host.example.com
DocumentRoot "/www/xixi"
ServerName www.xixi.com
ErrorLog"/var/log/httpd/dummy-host.example.com-error_log"
CustomLog"/var/log/httpd/dummy-host.example.com-access_log" common
</Virtualhost>