设为首页 收藏本站
查看: 798|回复: 0

[经验分享] Apache 配置多站点访问「为项目分配二级域名」

[复制链接]

尚未签到

发表于 2017-12-24 12:14:00 | 显示全部楼层 |阅读模式
  一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的。
  而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的。
  其实(www.baidu.com)也是二级域名,只是大家已经习惯使用www为前缀的二级域名作为网站的主域名而已。
  通过DNS解析服务商,可以为每个二级域名绑定不同的主机IP,这样即使只有一个主域名也可以架设多个网站了。
  如果你只有一台主机,并且要在上面建立多个项目,还得通过子域名的方式访问,那么你需要配置 Apache 才行。

  ===================配置本地域名=====================
  如果仅仅是作为本地访问,只需要配置 hosts 和 httpd.conf 即可
  1.在 host 文件(C:\Windows\System32\drivers\etc)中添加「127.0.0.1 自定义域名」
  

127.0.0.1    test.host.com  

  通过上面的步骤,就可以使用 test.host.com 来访问本地服务器了。不过仅仅只做这些微薄的工作,服务器是不会知道 localhost 和 test.host.com 的区别的。所以还需要为 Apache 配置虚拟主机,让其为不同的域名请求分配不同的处理路径。
  2.在 httpd.conf 文件(C:\wamp64\bin\apache\apache2.4.17\conf)中添加
  

NameVirtualHost *:80  
<VirtualHost test.host.com:80>
  DocumentRoot "C:/Users/Administrator/Desktop/test"
  ServerName test.host.com
  <Directory "C:/Users/Administrator/Desktop/test">
  Require local
  </Directory>
  
</VirtualHost>
  

  在这一步中你需要将 DocumentRoot(项目路径)和 ServerName(自定义域名)修改成你自己的。Directory 是用户可以访问的目录,和项目路径保持一致就行。注意 Directory 中的参数 Require local,它的意思是只允许本地访问,如果你把它改成 Require all granted,那么任何人都可以访问这个目录了。
  ==================分配网站域名=====================
  如果是打算部署在实际的项目中,那么情况会相对麻烦些,不过思想仍然是将所有二级域名请求都交给同一服务器处理,然后通过虚拟主机为不同的域名请求分配不同的处理路径。
  1.通过云解析服务商为主域名分配子域名,再为子域名绑定主机IP。
  2.修改 httpd.conf 文件,去掉 Include conf/extra/httpd-vhosts.conf 前面的注释。
  3.注释 httpd-vhosts.conf 文件(C:\wamp64\bin\apache\apache2.4.17\conf\extra)中所有内容,然后添加
  

<Directory />  AllowOverride all
  Require all granted
  

</Directory>  

  
NameVirtualHost
*:80  

  
<VirtualHost *:80>
  ServerAdmin 「管理员邮箱」
  DocumentRoot 「项目根目录」
  ServerName 「二级域名」
  ServerAlias 「域名别名」
  ErrorLog 「错误日志」
  CustomLog 「访问日志」
  
</VirtualHost>
  

  Directory 标签用于给所有目录设置访问权限
  AllowOverride all 允许 .htaccess 对URL进行重写 / AllowOverride none 忽略 .htaccess 文件
  Require all granted 允许外部访问 / Require all denied 禁止外部访问
  NameVirtualHost 是固定形式,用于使 VirtualHost 标签生效
  VirtualHost 标签用于为二级域名绑定虚拟主机
  每一个二级域名对应一个 VirtualHost 标签,有多少二级域名,就需要多少个 VirtualHost 标签
  DocumentRoot 和 ServerName 是必填项,其余可选
  注意:由于 www 域名属于特殊的二级域名,所以它也需要在 httpd-vhosts.conf 文件中注册
  ==================注意事项======================
  二级域名定义规则
  www:网站的主入口(www.baidu.com)
  mail:通常用于解析邮箱服务器(mail.baidu.com)
  m:用于手机网站的域名(m.baidu.com)
  Apache 访问控制权限
  2.2 版本允许所有请求:Order allow,deny #排序,先允许后拒绝 Allow from all #允许所有
  2.4 版本允许所有请求:Require all granted #允许所有
  重启服务器
  
  修改完 Apache 的配置文件后,必须重启服务器配置才能生效

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427492-1-1.html 上篇帖子: Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:. 下篇帖子: 使用Apache Tomcat Maven插件部署运行 Web 项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表