前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache添加多站点域名的方式

Apache添加多站点域名的方式

原创
作者头像
用户5005176
修改2021-08-11 18:06:08
3K0
修改2021-08-11 18:06:08
举报
文章被收录于专栏:网站知识

设置添加多站点域名

第一步:首先修改Apache的配置文件(MacOS自带的服务器环境,配置文件的目录是:/etc/apache2/http.conf。其他环境例如MAMP,则在 MAMP/conf/apache/ 中。编辑需要root权限)。

找到这一行,将第二行前面的#号去掉,表示启用vhosts虚拟主机:

----------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

第二步:接着就去找这个http-vhosts.conf文件,在文件最后添加如下代码,添加规则如下:

  • DocmentRoot:设置项目的根目录,如:/var/www/你的域名/、/Library/Webserver/Documents/你的域名/等。
  • ServerName:设置访问项目的域名,如:www.你的域名.com。这样设置之后,就不需要用“localhost/project1/admin”访问,而可以用“www.你的域名.com/admin”访问本地项目了。
  • 另外如果你用的不是80端口号,则需要改一下这里第一行 <VirtualHost *:你的端口号> 。

-------------------------------------------添加的代码---------------------------------------------------------------

--------------------------------------------------添加的代码--------------------------------------------------------

第三步:最后一步,设置MacOS的hosts文件(文件目录是/private/etc/hosts),将域名添加到本机地址中:

----------------------------------------------------------------------------------------------------------

以下的红色标记处,为演示网址,操作时更改为实际域名。

----------------------------------------------------------------------------------------------------------

到这一步就完成了。

记得重启apache服务器!(apachectl restart)

最后,如果设置后访问站点时发现如下错误:403 Forbidden Forbidden You don't have permission to access / on this server。这主要是目录访问权限没有设置,需要设置对目录的访问权。步骤如下:

  • 打开 httpd_conf 文件,找到如下语句

  <Directory />

  AllowOverride All

  Required all denied

  </Directory>

  • 将第一行的 / 改为你之前设置的项目目录(如:/Library/Webserver/Documents/project1//)
  • 将第二行的 Required all denied 改为 Required all granted 即可。

设置多端口

步骤和设置站点差不多:

代码语言:javascript
复制
127.0.0.1       www.你的域名.com
127.0.0.1       www.你的域名.com

然后在http-vhosts文件中新增站点信息并把端口号改一下:

代码语言:javascript
复制
<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Library/Webserver/Documents/project1/"
    ServerName www.project1.com
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>

<VirtualHost *:81>
#    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Library/Webserver/Documents/project2/"
    ServerName www.roject2p.com
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>

最后改一下http.conf文件:

找到 Linsten 80 这行

在下面添加 Listen 81,即可。

代码语言:javascript
复制
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
    Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
    Listen 80
    Listen 81
</IfDefine>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档