找不到 Ubuntu Apache2 本地虚拟主机 url

Posted

技术标签:

【中文标题】找不到 Ubuntu Apache2 本地虚拟主机 url【英文标题】:Ubuntu Apache2 local virtual hosts url not found 【发布时间】:2017-05-23 06:04:18 【问题描述】:

我正在将我的笔​​记本电脑设置为使用 Ubuntu 16.10 上的 LAMP 堆栈进行多个站点的单用户开发,其中包含用于不同站点的虚拟主机和基于名称的虚拟主机。我尝试了各种配置设置组合,但我无法从浏览器加载站点,我得到“在此服务器上找不到请求的 URL”。以下是相关配置文件中的相关代码 sn-ps:

Ports.conf:

Listen 8000

apache2.conf:

NameVirtualHost *:8000
ServerName localhost
...

.../sites-enabled/000-default.conf:

<VirtualHost *:8000>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
...

.../sites-enabled/abc.conf:

<VirtualHost *:8000>
ServerName abc
ServerAdmin admin@abc.com
ServerAlias www.abc.com abc.com
DocumentRoot /var/www/abc

.../sites-enabled/pbnat.conf:

<VirtualHost *:8000>
ServerName pbnat
ServerAdmin admin@pbnat.com
ServerAlias pbnat.com pbn.com
DocumentRoot /var/www/pbnat/public
...

/etc/hosts

127.0.0.1   localhost
127.0.1.1   Lenovo-y2-11
127.0.0.1   abc
127.0.0.1   pbnat

目录结构:

/var/www/
   |-- abc/
       |- index.html
   |-- html/
       |- index.html
   |-- pbnat/
       |-- public/
           |- index.html

/var/www/ 上的权限:

drwxr-xr-x 2 www-data julie 4096 Jan  8 16:53 abc
drwxrwxr-x 2 root     root  4096 Dec 31 00:02 html
drwxrwxr-x 3 www-data pbnat 4096 Jan  6 22:32 pbnat

/var/www/abc/ 上的权限:

-rw-r--r-- 1 www-data julie 139 Jan  8 16:53 index.html

/var/www/html/ 上的权限:

-rwxrwxr-x 1 root root 11321 Dec 31 00:02 index.html

/var/www/pbnat/ 上的权限:

drwxrwxr-x 2 www-data pbnat 4096 Jan  7 00:00 public

浏览器 URL 测试和结果:

file:///var/www/abc/index.html - 成功! abc 虚拟主机正在运行!

file:///var/www/pbnat/public/index.html - 成功! pbnat 虚拟主机正在运行!

localhost – 无法访问站点; localhost 拒绝连接。

localhost:8000 – Apache2 Ubuntu 默认页面

localhost:8000/abc - 在此服务器上找不到请求的 URL /abc。

localhost:8000/abc.com - 在此服务器上找不到请求的 URL /abc.com。

然后我在新站点的 hosts 文件中将 IP 更改为 127.0.0.2,但将 localhost 保留为 127.0.0.1 并尝试:

127.0.0.2:8000 - Apache2 Ubuntu 默认页面

127.0.0.2:8000/abc – 在此服务器上找不到请求的 URL /abc。

错误日志显示没有异常,访问日志显示 HTTP 状态代码 404,以及第二个代码 495 或 496;即使我输入 127.0.0.2:8000/abc

,它也会在日志的第一列中列出 127.0.0.1

已经有一段时间了。非常感谢您的帮助。

【问题讨论】:

我会推荐你​​关注它。也许它可以帮助你digitalocean.com/community/tutorials/… @Abbas 我在执行此操作时确实大量参考了该教程;我只能通过在浏览器中打开本地 html 文件来获得“成功”页面,无法使用 IP 地址或服务器名称/主机名通过 apache 打开它。 我注意到了两件事。您的问题中没有可用的站点。其次是 Your ServerName 应该是虚拟主机名。就像你的情况一样,它应该是 ServerName abc.com ServerName magento1local.com ServerAlias www.magento1local.com ServerAdmin webmaster@magento1local.com DocumentRoot /home/abbas/www/magento1local.com CustomLog $APACHE_LOG_DIR/access.log组合 Options Indexes FollowSymLinks MultiViews # 从 None 更改为 All AllowOverride All Order allow,deny Allow from all Require all grant 以上是其中之一我的主人。 @Abbas 我正在使用 a2ensite 从可用站点中的文件创建站点中的链接,只是不想进一步混淆我的问题。而且,我相信我在 VH 块中提供的服务器名称与主机文件中的服务器名称相匹配,.com 部分在这些配置指令中并不是真正必需的,但我确实将它们作为别名包含在内以确保完整性。我将查看目录块行以查看 ehat 效果。你能告诉我你的主机文件吗? 【参考方案1】:

问题在于 URL 在浏览器中的输入方式。它应该是: ABC:8000 不是: 本地主机:8000/abc

【讨论】:

我们怎样才能从一台运行 apache2 的主机访问虚拟主机?我的情况与上述相同,只是我无法从主机访问它。我可以使用 localhost 和端口访问默认网站,但不能访问任何其他网站...

以上是关于找不到 Ubuntu Apache2 本地虚拟主机 url的主要内容,如果未能解决你的问题,请参考以下文章

找不到虚拟主机 url

VM 上的 Apache 2 *有时* 找不到启用 mods 的目录

当我在我的本地主机系统上安装 apache2 时,它显示了这个错误(Ubuntu 17.10)

Apache 2.4 VirtualHost Ubuntu 只允许访问本地网络

ubuntu中apache2的安装与卸载

Moodle - 如何在 apache2 (ubuntu 14.04) 上启用斜线参数