apache 本地主机不工作

svmlkihl  于 2022-11-16  发布在  Apache
关注(0)|答案(4)|浏览(214)

我花了一天的时间来解决这个问题,但我无法解决它。
每次我尝试访问我的本地主机或键入127.0.0.1时,我使用的浏览器都会返回如下错误:“Firefox在www.localhost.com找不到服务器地址。"(我是法国人,我翻译了这个问题)。
同样的问题也发生在Google Chrome和127.0.0.1中。我尝试了XAMPP和WAMP,仍然没有任何结果。我的Apache httpd.conf看起来很好,我尝试更改端口(8080、81、8800)。它仍然不工作。我的Skype在VMware Workstation下没有打开。没有程序阻止对端口80或443的访问。
我已经做了一个ping测试与本地主机和一切都是好的,但我不能访问WAMP或XAMP的索引页。
奇怪的是我可以访问localhost/phpmyadmin和其他类似的页面。
我想我的问题出在Windows的主机文件中,但对我来说似乎没问题:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost

127.0.0.1 localhost

::1 localhost

为什么我会想到主机文件?因为我的vhost在XAMPP和WAMP中不工作。也许我错了,但这个问题快把我逼疯了!
谢谢你的帮助

hec6srdp

hec6srdp1#

如果您已经定义了虚拟主机,这是一个非常好的主意,那么您需要在HOSTS文件中定义vhosts名称。
例如,hosts文件:

127.0.0.1 localhost
::1 localhost

127.0.0.1 vhost1.dev
::1 vhost1.dev

127.0.0.1 vhost2.dev
::1 vhost2.dev

否则windows没有办法知道去哪里找它们。
localhost无法工作的另一个可能原因是HOSTS文件已损坏。请尝试删除该文件,然后使用记事本以外的编辑器重新创建。
此外,在更改HOSTS文件时,您需要重新启动dmscache服务“DNS Client”,方法是重新启动,或者最好使用“以管理员身份运行”来运行命令窗口,然后执行此操作

net stop dnscache
net start dnscache

激活主机文件中的新条目。

3wabscal

3wabscal2#

奇怪的是我可以访问localhost/phpmyadmin和其他类似的页面。
听起来你的主机文件没问题。有什么东西阻止Apache启动并绑定到你的端口。
我对Windows不太熟悉,但从文档中可以看出:
在Windows NT上运行时,Apache启动过程中的任何错误都会记录到Windows事件日志中。此机制可作为Apache尚未准备好使用error.log文件的情况的备份。您可以使用事件查看器查看Windows应用程序事件日志,例如“开始”-“设置”-“控制面板”-“管理工具”-“事件查看器”。
看看是什么阻止Apache启动。

bfhwhh0e

bfhwhh0e3#

我现在不知道它是否对您有帮助,这是我重新启动Apache时在日志中看到的内容

[Thu Jun 05 15:41:13.480163 2014] [mpm_winnt:notice] [pid 9984:tid 392] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Thu Jun 05 15:41:15.481278 2014] [mpm_winnt:notice] [pid 6728:tid 268] AH00364: Child: All worker threads have exited.
[Thu Jun 05 15:41:15.504279 2014] [mpm_winnt:notice] [pid 9984:tid 392] AH00430: Parent: Child process 6728 exited successfully.
[Thu Jun 05 15:41:20.536567 2014] [ssl:warn] [pid 9648:tid 392] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Jun 05 15:41:20.735578 2014] [ssl:warn] [pid 9648:tid 392] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Jun 05 15:41:20.757580 2014] [mpm_winnt:notice] [pid 9648:tid 392] AH00455: Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11 configured -- resuming normal operations
[Thu Jun 05 15:41:20.757580 2014] [mpm_winnt:notice] [pid 9648:tid 392] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:13:13
[Thu Jun 05 15:41:20.757580 2014] [core:notice] [pid 9648:tid 392] AH00094: Command line: 'C:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Thu Jun 05 15:41:20.758580 2014] [mpm_winnt:notice] [pid 9648:tid 392] AH00418: Parent: Created child process 3700
[Thu Jun 05 15:41:21.108600 2014] [ssl:warn] [pid 3700:tid 268] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Jun 05 15:41:21.274609 2014] [ssl:warn] [pid 3700:tid 268] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Jun 05 15:41:21.296610 2014] [mpm_winnt:notice] [pid 3700:tid 268] AH00354: Child: Starting 150 worker threads.

昨天,我设法摆脱了[ssl:warn] [pid 3700:tid 268] AH01909,但这不是问题所在。
在我的windows事件查看器中,没有任何变化,在重新启动的同时没有报告任何东西。
注意:我已经卸载了我目前的防病毒软件(我现在不推荐),我的Windows防火墙没有阻止连接到localhost。

z3yyvxxp

z3yyvxxp4#

好了,我已经按照RiggsFolly的要求做了。我删除了我的主机文件并创建了一个新的。我重新启动了我的dmscache服务。之后,我决定为我的本地主机创建一个虚拟主机。在我的httpd.conf中,我检查了虚拟主机是否包含了

Include conf/extra/httpd-vhosts.conf

在我httpd-vhosts.conf中,我写道:

<Directory "/xampp/htdocs">
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName localhost
    ServerAdmin webmaster@das.com
    DocumentRoot /xampp/htdocs/
    <Directory "/xampp/htdocs/">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

现在一切似乎都正常了,我可以在我的主机文件中创建其他具有自定义名称的虚拟主机。

相关问题