如何配置LINUX系统apache基于IP,基于port和基于域名的三种虚拟主机

2023-04-14 15:35:00 配置 虚拟主机 三种

.

如何配置LINUX系统apache基于IP,基于port和基于域名的三种虚拟主机

在Linux系统中,apache服务器支持三种不同类型的虚拟主机:基于IP地址、基于端口和基于域名。下面我们将介绍如何配置apache服务器的这三种虚拟主机。

基于IP地址的虚拟主机

如果需要为不同的IP地址提供不同的网站,则可以使用基于IP地址的虚拟主机。

首先,需要为每个网站创建一个单独的目录,例如:

/var/www/html/site1

/var/www/html/site2

然后,打开apache配置文件/etc/httpd/conf/httpd.conf,找到如下行并将其注释掉:

#NameVirtualHost *:80

接下来,为每个网站配置一个虚拟主机,例如:

ServerAdmin webmaster@example.com

DocumentRoot /var/www/html/site1

ServerName www.example.com

ErrorLog logs/site1-error_log

CustomLog logs/site1-access_log common

ServerAdmin webmaster@example.com

DocumentRoot /var/www/html/site2

ServerName www.example.com

ErrorLog logs/site2-error_log

CustomLog logs/site2-access_log common

上面的配置中,192.168.0.1和192.168.0.2分别是两个不同的IP地址。

最后,重新启动apache服务器,使配置生效:

systemctl restart httpd.service

基于端口的虚拟主机

如果需要为不同的端口提供不同的网站,则可以使用基于端口的虚拟主机。

首先,需要为每个网站创建一个单独的目录,例如:

/var/www/html/site1

/var/www/html/site2

然后,打开apache配置文件/etc/httpd/conf/httpd.conf,找到如下行并将其注释掉:

#NameVirtualHost *:80

接下来,为每个网站配置一个虚拟主机,例如:

ServerAdmin webmaster@example.com

DocumentRoot /var/www/html/site1

ServerName www.example.com

ErrorLog logs/site1-error_log

CustomLog logs/site1-access_log common

ServerAdmin webmaster@example.com

DocumentRoot /var/www/html/site2

ServerName www.example.com

ErrorLog logs/site2-error_log

CustomLog logs/site2-access_log common

上面的配置中,8080和8081分别是两个不同的端口。

最后,重新启动apache服务器,使配置生效:

systemctl restart httpd.service

基于域名的虚拟主机

如果需要为不同的域名提供不同的网站,则可以使用基于域名的虚拟主机。

首先,需要为每个网站创建一个单独的目录,例如:

/var/www/html/site1

/var/www/html/site2

然后,打开apache配置文件/etc/httpd/conf/httpd.conf,找到如下行并将其注释掉:

#NameVirtualHost *:80

接下来,为每个网站配置一个虚拟主机,例如:

ServerAdmin webmaster@example.com

DocumentRoot /var/www/html/site1

ServerName www.example.com

ErrorLog logs/site1-error_log

CustomLog logs/site1-access_log common

ServerAdmin webmaster@example.com

DocumentRoot /var/www/html/site2

ServerName www.example.com

ErrorLog logs/site2-error_log

CustomLog logs/site2-access_log common

上面的配置中,www.example.com和www.example.com分别是两个不同的域名。

最后,重新启动apache服务器,使配置生效:

systemctl restart httpd.service

相关文章