首页 帮助中心 新加坡云服务器 ApacheWeb 配置多站点具体方法
ApacheWeb 配置多站点具体方法
时间 : 2023-02-21 09:35:12 编辑 : 华纳云 阅读量 : 250

  Apache的所有配置文件都位于/etc/httpd/conf和/etc/httpd/conf.d。默认情况下,站点的数据位于/var/www中。对于多个站点,你需要提供多个位置,每个位置对应托管的站点。
  基于名称的虚拟主机
  使用基于名称的虚拟主机,你可以为多个站点使用一个IP地址。现代Web服务器,包括Apache,使用指定URL的hostname部分来确定哪个虚拟Web主机响应页面请求。这仅仅需要比一个站点更多的配置。
  即使你只从单个站点开始,我也建议你将其设置为虚拟主机,这样可以在以后更轻松地添加更多站点。在本文中,我将从上一篇文章中我们停止的地方开始,因此你需要设置原来的站点,即基于名称的虚拟站点。
  准备原来的站点
  在设置第二个站点之前,你需要为现有网站提供基于名称的虚拟主机。如果你现在没有站点,请返回并立即创建一个。
  一旦你有了站点,将以下内容添加到/etc/httpd/conf/httpd.conf配置文件的底部(添加此内容是你需要对httpd.conf文件进行的唯一更改):

  DocumentRoot/var/www/html
  ServerName www.site1.org

  这将是第一个虚拟主机配置节,它应该保持为第一个,以使其成为默认定义。这意味着通过IP地址或解析为此IP地址但没有特定命名主机配置节的其它名称对服务器的HTTP访问将定向到此虚拟主机。所有其它虚拟主机配置节都应跟在此节之后。
  你还需要使用/etc/hosts中的条目设置你的网站以提供名称解析。上次,我们只使用了localhost的IP地址。通常,这可以使用你使用的任何名称服务来完成,例如Google或Godaddy。对于你的测试网站,通过在/etc/hosts中的localhost行添加一个新名称来完成此操作。添加两个网站的条目,方便你以后不需再次编辑此文件。结果如下:

  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 www.site1.org www.site2.org

  让我们将/var/www/html/index.html文件改变得更加明显一点。它应该看起来像这样(带有一些额外的文本来识别这是站点1):
  Web site 1.
  重新启动HTTPD服务器,已启用对httpd配置的更改。然后,你可以从命令行使用Lynx文本模式查看网站。

  [root testvm1~]#systemctl restart httpd
  [root testvm1~]#lynx www.site1.org
  Hello World
  Web site 1.
  Commands:Use arrow keys to move,'?'for help,'q'to quit,'to go back.Arrow keys:Up and Down to move.Right to follow a link;Left to go back.H)elp O)ptions P)rint G)o M)ain screen Q)uit/=search[delete]=history list

  你可以看到原始网站的修改内容,没有明显的错误,先按下Q键,然后按Y退出Lynx Web浏览器。
  配置第二个站点
  现在你已经准备好建立第二个网站。使用以下命令创建新的网站目录结构:

  [root testvm1 html]#mkdir-p/var/www/html2

  注意,第二个站点只是第二个html目录,与第一个站点位于同一/var/www目录下。
  现在创建一个新的索引文件/var/www/html2/index.html,其中包含以下内容(此索引文件稍有不同,以区别于原来的网站):
  在httpd.conf中为第二个站点创建一个新的配置节,并将其放在上一个虚拟主机配置节下面(这两个应该看起来非常相似)。此节告诉Web服务器在哪里可以找到第二个站点的HTML文件。

  DocumentRoot/var/www/html2
  ServerName www.site2.org

  重启HTTPD,并使用Lynx来查看结果。

 [root testvm1 httpd]#systemctl restart httpd
  [root testvm1 httpd]#lynx www.site2.org
  Hello World--Again
  Web site 2.
  Commands:Use arrow keys to move,'?'for help,'q'to quit,'to go back.Arrow keys:Up and Down to move.Right to follow a link;Left to go back.H)elp O)ptions P)rint G)o M)ain screen Q)uit/=search[delete]=history list

  在这里,我压缩了输出结果以适应这个空间。页面的差异表明这是第二个站点。要同时显示两个站点,请打开另一个终端会话并使用Lynx Web浏览器查看另一个站点。
  其他考虑
  这个简单的例子展示了如何使用Apache HTTPD服务器的单个实例来服务于两个站点。当考虑其他因素时,配置虚拟主机会变得有点复杂。
  例如,你可能希望为这些网站中的一个或全部使用一些CGI脚本。为此,你可能为CGI程序在/var/www目录下创建一些目录:/var/www/cgi-bin和/var/www/cgi-bin2,以与HTML目录命名一致。然后,你需要将配置指令添加到虚拟主机节,以指定CGI脚本的目录位置。每个站点可以有下载文件的目录。这还需要相应虚拟主机节中的条目。
  Apache网站描述了管理多个站点的其他方法,以及从性能调优到安全性的配置选项。
  Apache是一个强大的Web服务器,可以用来管理从简单到高度复杂的网站。尽管其总体市场份额在缩小,但它仍然是互联网上最常用的HTTPD服务器。

华纳云 推荐文章
香港站群服务器用于部署WordPress多站点方法 如何在CentOS中安装ApacheWeb服务器? Ubuntu 15.10下LNMP环境搭建和Nginx多站点配置
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持