共计 1747 个字符,预计需要花费 5 分钟才能阅读完成。
Ubuntu Apache Web 服务器是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在向大家详细介绍 Apache 之前,首先让大家了解下 Ubuntu Apache,然后全面介绍 Ubuntu Apache,希望对大家有用。Ubuntu 包含了非常好的翻译和容易使用的架构,这些由自由软件社团将不断的提供, 将尽可能的使大多数人方便使用 Ubuntu。一般情况下,我们会在 Web 服务器上寄放多个 Web 站点,并且每个站点都有它自己的虚拟服务器。对于 Ubuntu Apache 来说,它同时支持基于名称的虚拟服务器和基于 IP 的服务器。
对于基于 IP 的虚拟服务器,每个站点都具有一个单独的 IP 地址,这样的缺点是使用太多的 IP 地址,但如今 IPv4 的地址已有枯竭的迹象,所以不提倡使用,通常在要求使用 SSL 时才使用。
对于基于名称的虚拟服务器,多个 Web 站点共享一个 IP 地址。在这种情况下,通常根据 HTTP 请求头部来决定将其发给哪一个站点。为此,我们需要为每个虚拟服务器分别建立一个配置,给作为 Web 站点的根的目录以及主机命名。但是,如果这样的话我们每当添加一个新的虚拟服务器时,就要修改 Ubuntu Apache 的配置并重新启动,这的确很烦人呢!
值得高兴的是,如果使用动态虚拟主机技术的话,可以随时加入虚拟主机时而不必重新配置或启动 Ubuntu Apache。该技术要用到一个模块,称为 vhost_alias。我们可以通过在 Apache2 已启用的模块目录中建立一个符号链接来启用该模块,命令如下所示:
$ sudo ln -s /etc/apache2/mods-available/vhost_alias.load \
/etc/apache2/mods-enabled/vhost_alias.load 要想使 vhost_alias 正常工作,我们还需要修改 /etc/apache2/apache2.conf 来关闭常规名称(canonical names),修改日志文件的配置,并为我们的虚拟主机规定存放位置。下面是一个实例:
# 从 Host: 头中取得主机名
UseCanonicalName Off
# 这种日志格式可以从 *** 个字段中提取出主机名
LogFormat %V %h %l %u %t %r %s %b vcommon
CustomLog /var/log/apache2/access_log vcommon
# 在返回请求的文件名路径中包含主机名
VirtualDocumentRoot /var/www/vhosts/%0/web
VirtualScriptAlias /var/www/vhosts/%0/cgi-bin 接下来,创建存放虚拟主机的目录,命令如下:
$ sudo mkdir /var/www/vhosts 新建一个基干虚拟服务器,命令如下所示:
$ sudo mkdir -p /var/www/vhosts/skeleton/cgi-bin
$ sudo cp -a /var/www/apache2-default /var/www/vhosts/skeleton/web 重新启动 apache2,使得上面的配置生效,方法如下所示:
$ sudo /etc/init.d/apache2 restart 好了,现在我们可以建立基于名称的虚拟主机了。方法是将基干拷贝到要响应的主机名。举例来说,要想为 www.mysite.com 新建一个虚拟服务器的话,只要运行下面的命令就行了:
$ sudo cp -a /var/www/vhosts/skeleton /var/www/vhosts/
现在,所有到达你的 Ubuntu Apache 服务器的 HTTP 连接中,只要其“Host:”头部被设成,那么将由对应的虚拟服务器来响应。为了早些看到我们的劳动成果,可以在本地进行测试。为此编辑 /etc/hosts,加入下面一项:
127.0.0.1 www. mysite.com 这样,在本机上就能访问该站点了。但是,为了让所有用户都能访问虚拟主机,还需申请域名,并且我们还需要在公共 DNS 服务器上进行设置。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。