centos7+apache配置虚拟主机

我之前有个博客,尝试搭建了私有dns:

使用centos7+bind9构建私网dns_大橘子的博客-CSDN博客

最终实现像*.nx.com这样的域名,不用在公网注册,就可以访问到内网的主机。适用于企业或学校的私有服务器使用。于是进一步假设,如果nx.com这台服务器上装有多个站点,可以通过虚拟主机的方式去访问多个服务,比如我安装了phpMyAdmin、WordPress、Discuz,可以分别使用pma.nx.com、wp.nx.com、dz.nx.com去访问它们。

近二十年前,项目上web服务用的是windows+iis。测试的时候如果是单机配置多个站点,又不想添加多个ip,那就用端口来区分。真正在互联网上发布站点的时候,都是好多站点共享一个ip的80端口,用域名来区分。后来接触linux,其实原理是一样的。

配置apache:

编辑主配置文件/etc/httpd/conf/httpd.conf,注释掉DocumentRoot来关闭中心主机。

编辑子配置文件/etc/httpd/conf.d/vhost.conf:

#<VirtualHost "192.168.0.79:443">
#<VirtualHost "192.168.0.79">
<VirtualHost "*">
    ServerName "pma.nx.com"
    DocumentRoot "/var/www/html/pma"
#    SSLEngine on
#    SSLCertificateFile /etc/pki/CA/pma.crt
#    SSLCertificateKeyFile /etc/pki/CA/private/ca.key
</VirtualHost>
#<VirtualHost "192.168.0.79">
<VirtualHost "*">
    ServerName "wp.nx.com"
    DocumentRoot "/var/www/html/wordpress"
</VirtualHost>
#<VirtualHost "192.168.0.79">
<VirtualHost "*">
    ServerName "dz.nx.com"
    DocumentRoot "/var/www/html/dz"
</VirtualHost>

我使用的总站点目录是/var/www/html,其下pma、wordpress、dz分别是三个子站点的目录。

然后分别指定ServerName就可以了。因为上篇博客中,私有dns解析的是*.nx.com,所以在局域网内就可以分别用pma.nx.com、wp.nx.com、dz.nx.com去访问这三个站点了。

配置中注释掉的部分,是用于https加密协议的。如果是企业或者校园内部使用,可以找一台服务器充当私有CA,给这台web服务器颁发证书,然后站点配置中指明私钥和证书位置就可以了。

这也就是小规模访问量不大时随便用用还行,如果使用频度高,生产环境复杂,dns、web、db、fs等多个角度,可能要不同程度采用各种辅助技术了。

本文完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值