httpd虚拟主机及通过虚拟主机查看服务器状态-创新互联

httpd虚拟主机的作用:可以将多个站点绑定在同一个IP上,也可在同一主机上将多个网站绑定在多个IP上;

成都创新互联公司是一家专业提供东阳企业网站建设,专注与网站设计制作、成都做网站、H5技术、小程序制作等业务。10年已为东阳众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

虚拟主机可以根据端口绑定,也可基于IP绑定,示例如下:

 www.a.com --> 10.1.1.100:80  www.b.net --> 10.1.1.100:808  www.c.org --> 10.1.1.100:8080

 www.a.com --> 10.1.1.100  www.b.net  --> 10.1.1.101  www.c.org --> 10.1.1.102

以上两种也可以混合使用;亦可多个域名共用一个IP及端口,此种情况下需要dns上将多个域名映射到同一个IP地址。

配置虚拟主机(以CentOS 7为例):

Apache httpd配置文件:

  主配置文件:

    /etc/httpd/conf/httpd.conf     /etc/httpd/conf.d/*conf               #也可作为主配置文件的一部分

1、安装服务:

    yum -y install httpd

2、备份主配置文件并修改,以便后续开启虚拟主机:

  vim /etc/httpd/conf/httpd.conf,注释掉默认的网页文件路径     # DocumentRoot "/var/www"---> httpd网页文件默认路径

3、找到#ServerName www.example.com:80,添加一下内容:

ServerName localhost:80 #添加之后httpd服务启动时将不会尝试使用DNS服务器解析本机hostname

4、在/etc/httpd/conf.d/新建虚拟主机配置文件,方便后续管理,不用的时候删除即可

vim /etc/httpd/conf.d/vhosts.conf

 4.1 如果使用基于端口的方式,则

      Listen 808                     #监听需要启用的端口                  ServerName www.a.com           DocumentRoot "/www/a.com/htdocs/"      #目录提前创建好,并将index.html测试文件放入对应的目录                         ServerName www.b.net           DocumentRoot "/www/b.net/htdocs/"       

  4.2  如果使用基于IP的方式,则

                       ServerName www.a.com              DocumentRoot "/www/a.com/htdocs/"      #目录提前创建好,并将index.html测试文件放入对应的目录                                             ServerName www.b.net              DocumentRoot "/www/b.net/htdocs/"           

  4.3 如果使用FQDN的方式,则(此种方法主要靠DNS服务器将多个域名和IP做绑定)

                      ServerName www.a.com            DocumentRoot "/www/a.com/htdocs/"                                     ServerName www.a.com            DocumentRoot "/www/a.com/htdocs/"           

注:在修改httpd的配置文件后,请使用httpd -t检查配置文件,没问题再重启服务

可能出现的问题,及解决办法

1、经过上述配置,虚拟主机可能存在不能访问的问题,请关闭SELinux及iptables;

   SElinux 关闭方法:     setenforce 0        #临时关闭     vim /etc/selinux/config  #需要重启         SELINUX=disabled    SELinux查看方法:     getenforce     disable            #处于关闭装填  CentOS 7防火墙关闭方法:     systemctl disable firewalld.service

2、如果此时仍不能访问,提示路径不能访问的forbidden错误,在虚拟主机配置文件中加入以下内容:

 #可参考主配置文件中针对默认路径权限的配置案例,此处的路径为虚拟主机网页文件路径     AllowOverride None     # Allow open access:     Require all granted

注:网页文件默认不允许访问

添加之后,httpd -t检查下语法错误,没问题的话重启服务即可,此时虚拟主机应能正常访问;

server-status及身份认证

1、如果需要通过某虚拟主机获取服务器状态,并需要认证身份,则添加以下内容:

ServerName www.a.com DocumentRoot "/www/a.com/htdocs/"                      SetHandler server-status             AuthType Basic             AuthName "ENTER YOUR ID"             AuthUserFile /etc/httpd/conf/.htpasswd   #指明认证所需的文件路径             Require valid-user    #只要用户存在即可,亦可直接指定用户名         

2、使用htpasswd -c -m /etc/httpd/conf/.htpasswd  USERNAME 创建用户名及设定密码

注:-c命令只在第一次创建用户时使用,用户生成密码文件

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:httpd虚拟主机及通过虚拟主机查看服务器状态-创新互联
文章地址:http://cdiso.cn/article/ccipdg.html

其他资讯