Apache服务器在80端口配置多域名虚拟主机的方法

我们在配置一台服务器的时候,如果只运行一个站点,往往过于浪费资源。Nginx和Apache都可以通过配置虚拟主机实现多站点。配置虚拟主机的方式主要有两种,一种是多个不同端口对应的多个虚拟主机站点,一种是同一端口对应多个不同域名的虚拟主机站点。这里我用80端口为例,在Apache配置多个不同域名虚拟主机。

试验环境:Windows+Apache (Linux+Apache同理)
1、 虚拟机需要用到Rewrite,所以先编辑Apache的conf目录下的httpd.conf文件
掉Rewrite模块列行中前面的#号(删除注释)。添加mod_rewrite.so模块支持。
LoadModule rewrite_module modules/mod_rewrite.so
同时,还要让主配置文件包含虚拟机配置文件:
找到 #Include conf/extra/httpd-vhosts.conf 这一行去掉前面的 # 。

2、 然后编辑 /conf/extra/httpd-vhosts.conf 文件:
(1)如果里面有默认的设置,删除里面默认设置的虚拟主机,我这里是以下这段代码:

<VirtualHost _default_:80>
DocumentRoot "/Apache24/htdocs"
ServerName example.com:80
</VirtualHost>

(2)修改NameVirtualHost参数,要在本机的所有IP的80端口上面做多域名:NameVirtualHost *:80

(3)添加虚拟主机一:

<VirtualHost *:80>
\#管理员邮箱
ServerAdmin  *@163.com
\#虚拟主机根目录
DocumentRoot "E:/www/linux/"
\#虚拟主机名
ServerName linuxidc.net
\#虚拟主机别名
ServerAlias linuxidc.net
\#日志路径
ErrorLog "logs/linux-error.log"
CustomLog "logs/linux-access.log" common
RewriteEngine on
</VirtualHost>

(4)添加虚拟主机二:


<VirtualHost *:80>
\#管理员邮箱
ServerAdmin *@163.com
\#虚拟主机根目录
DocumentRoot "E:/www/linuxidc/"
\#虚拟主机名
ServerName linuxidc.com
\#虚拟主机别名
ServerAlias linuxidc.com
\#日志路径
ErrorLog "logs/linuxidc-error.log"
CustomLog "logs/linuxidc-access.log" common
RewriteEngine on
</VirtualHost>

(5)保存退出

3、修改本地hosts文件:
在windows中,进入C:/Windows/System32/drivers/etc (在linux环境中应该是在/etc/hosts)
打开host文件,在最后面添加下面两行:
127.0.0.1 linuxidc.net
127.0.0.1 linuxidc.com
保存退出

4、重启服务器。
在你两个虚拟机的根目录下新建一些测试文件,比如在”E/www/linux/”目录新建个test.html,在目录”E:/www/linuxidc/”页新建个test.html,写上对应的测试代码,在浏览器里输入linuxidc.net/test.html和linuxidc.com/test.html查看结果。

本文永久更新链接地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置和管理Apache服务器需要以下步骤: 1. 安装Apache服务器软件 在Linux系统中,可以使用apt-get、yum等命令来安装Apache服务器软件。以Ubuntu系统为例,在终端中运行以下命令进行安装: ``` sudo apt-get update sudo apt-get install apache2 ``` 2. 配置Apache服务器 打开Apache服务器的主配置文件/etc/apache2/apache2.conf,在其中进行以下设置: - 定义Apache服务器的监听地址和端口: ``` Listen 80 ``` - 定义Apache服务器的默认网站根目录: ``` DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ``` 3. 启动Apache服务器 完成以上配置后,使用以下命令启动Apache服务器: ``` sudo service apache2 start ``` 4. 配置防火墙 如果Apache服务器所在的Linux系统中启用了防火墙,需要配置防火墙允许HTTP流量通过。可以使用以下命令配置防火墙: ``` sudo ufw allow http ``` 其中,http指的是80端口,如果需要使用其他端口,需要将http改为对应的端口号。 5. 配置虚拟主机 Apache服务器支持配置多个虚拟主机,以实现多个网站共享同一个服务器资源的功能。可以基于IP地址、域名端口号来配置虚拟主机。以下分别介绍这三种配置方式: - 基于IP地址的虚拟主机: 在Apache服务器的主配置文件/etc/apache2/apache2.conf中添加以下内容: ``` NameVirtualHost 192.168.1.100:80 <VirtualHost 192.168.1.100:80> ServerName www.example.com DocumentRoot /var/www/example </VirtualHost> ``` 其中,NameVirtualHost用于定义虚拟主机的IP地址和端口号,VirtualHost用于定义虚拟主机的详细配置。在上述配置中,虚拟主机的IP地址为192.168.1.100,域名为www.example.com,网站根目录为/var/www/example。 - 基于域名虚拟主机: 在Apache服务器的主配置文件/etc/apache2/apache2.conf中添加以下内容: ``` <VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example </VirtualHost> ``` 其中,*表示匹配任意IP地址,ServerName用于定义虚拟主机域名ServerAlias用于定义虚拟主机的别名,DocumentRoot用于定义虚拟主机的网站根目录。 - 基于端口号的虚拟主机: 在Apache服务器的主配置文件/etc/apache2/apache2.conf中添加以下内容: ``` Listen 8080 <VirtualHost *:8080> ServerName www.example.com DocumentRoot /var/www/example </VirtualHost> ``` 其中,Listen用于定义Apache服务器的监听端口,VirtualHost用于定义虚拟主机的详细配置,在上述配置中,虚拟主机端口号为8080域名为www.example.com,网站根目录为/var/www/example。 6. 重启Apache服务器 完成以上配置后,使用以下命令重启Apache服务器: ``` sudo service apache2 restart ``` 以上就是配置和管理Apache服务器的具体步骤和详解,以及配置基于IP地址、域名端口号的虚拟主机方法。注意,在实际配置中,还需要根据实际情况进行调整和优化,以提高Apache服务器的安全性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值