Apache 支持单个 IP 地址下的多个域名,这称为“虚拟主机”。
要配置虚拟主机,请按照以下步骤操作:
- 在 Apache 配置文件中启用 NameVirtualHost 模块。
- 添加虚拟主机配置块,其中包括服务器名称、别名、文档根目录等信息。
- 重新启动 Apache 服务器。
示例配置如下:
先确认 httpd.conf 中有 uncomment NameVirtualHost *:80
# NameVirtualHost tomcat-oracle.com:80
<VirtualHost *:80>
ServerAdmin webmaster@tomcat-oracle.com
DocumentRoot /var/www/html/tomcat-oracle
ServerName tomcat-oracle.com
ServerAlias www.tomcat-oracle.com
ErrorLog logs/tomcat-oracle.com-error_log
CustomLog logs/tomcat-oracle.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@tomcat-oracle.com
DocumentRoot /var/www/html/camelion
ServerName camelion.com
ServerAlias www.camelion.com
ErrorLog logs/camelion.com-error_log
CustomLog logs/camelion.com-access_log common
</VirtualHost>
以上示例配置将在单个 IP 地址上为 tomcat-oracle.com 和 camelion.com 提供虚拟主机支持。其中 tomcat-oracle.com 的文档根目录为 /var/www/html/tomcat-oracle,而 camelion.com 的文档根目录为 /var/www/html/camelion。注意,每个虚拟主机都有自己的错误日志和访问日志文件。
在配置完虚拟主机后,重新启动 Apache 服务器以使更改生效。注意要确保虚拟主机的域名已经正确地解析到了服务器的 IP 地址。
配置
要在Apache服务器上配置单个IP地址上的多个域名,可以使用“虚拟主机”或“名称主机”功能。下面是一些简单的步骤,可以帮助您完成这些任务。
- 新建一个配置文件(可选)
你可以创建一个新的配置文件,例如“/etc/httpd/conf.d/multidomain.conf”。这对于保持服务器配置的干净和组织有帮助。
sudo nano /etc/httpd/conf.d/multidomain.conf
- 开启名称主机和虚拟主机支持
确保你的httpd.conf(默认位于“/etc/httpd/conf/httpd.conf”)中有以下代码片段,并且是已解开注释的:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@domain.tld
DocumentRoot /var/www/html/domain1
ServerName domain1.com
ServerAlias www.domain1.com
ErrorLog /var/log/httpd/domain1_errorlog
CustomLog /var/log/httpd/domain1_accesslog combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@domain.tld
DocumentRoot /var/www/html/domain2
ServerName domain2.com
ServerAlias www.domain2.com
ErrorLog /var/log/httpd/domain2_errorlog
CustomLog /var/log/httpd/domain2_accesslog combined
</VirtualHost>
注意:您需要替换文件路径、服务器管理员地址、域名和别名、错误日志和定制日志的名称。文件路径可以是您喜欢的任何位置。
- 重启Apache服务
最后,重启Apache服务:
systemctl restart httpd.service
现在您的单个IP地址可以由多个域名访问。
线上演示:
Step 1. 新建配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/test.conf
在该文件中添加:
[root@localhost ~]#cat /etc/httpd/conf.d/test.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@geekbing.com
DocumentRoot /data/wwwroot/default
ServerName geekbing.com
ServerAlias www.geekbing.com
ErrorLog logs/geekbing.com-error_log
CustomLog logs/geekbing.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@wangyinqi.com
DocumentRoot /data/wwwroot/wangyinqi
ServerName wangyinqi.com
ServerAlias www.wangyinqi.com
ErrorLog logs/wangyinqi.com-error_log
CustomLog logs/wangyinqi.com-access_log common
</VirtualHost>
Step 2. 重启Apache服务
[root@localhost ~]# systemctl restart httpd.service
参考文献:
https://www.linuxidc.com/Linux/2017-07/145119.htm
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/155719.html