【发布时间】: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 效果。你能告诉我你的主机文件吗?
标签: apache ubuntu config local virtualhost