按照说明在OS X 10.6.8(SnowLeopard)上使用本机Apache软件设置个人服务器,并按照说明修改apache2.config文件后,在浏览器中键入以下内容: / p>
http:// localhost
(Chrome或Safari)返回连接拒绝错误。
该怎么办?启动或关闭防火墙不会更改localhost连接错误。
telnet返回:
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
netstat返回了许多其他数据:
udp4 0 0 localhost.64790 *.*
在终端输入netstat -i返回:
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 16384 <Link#1> 954 0 954 0 0
lo0 16384 localhost ::1 954 - 954 - -
lo0 16384 localhost fe80:1::1 954 - 954 - -
lo0 16384 127 localhost 954 - 954 - -
奇怪的是,浏览器通常会读取本地HTML和其他本地文件。例如输入:
file:///Library/Webserver/Documents/index.html.en
返回&#34;它有效!&#34;
但是这并没有解决浏览器无法响应本地主机的问题。
任何帮助都将不胜感激。
更新
所以我让localhost工作但是当我将文件移动到正确的目录时,链接被破坏了
修复链接后,在Safari中键入localhost
会导致指南针飞出浏览器!
网络实用程序返回
Port Scanning host: 127.0.0.1
Open TCP Port 80: http
error_log有这个警告:
Init: Session Cache is not configured [hint: SSlSessionCache]
ssl_module包含在LoadModule部分中。
在终端中输入/usr/sbin/httpd
会出现以下错误:
(13)Permission denied: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
并且在修改配置文件以侦听8080之后,计算机返回另一个错误:
(13)Permission denied: httpd: could not open error log file /private/var/log/apache2/error_log.
Unable to open logs
朱莉梅洛尼的曼努埃尔说:
This problem can arise if the user who built and installed
Apache is different from the user trying to run it.
然而,在这种情况下并非如此。该手册没有解释如何解决这个问题。
用ls -l /etc/apache2/httpd.conf
检查权限后终端返回:
-rw-r--r-- 1 root wheel 18973 Dec 7 22:49 /etc/apache2/httpd.conf
据我所知,这表明文件没有执行权限。运行chmod 755
后,计算机报告不允许此操作。
我已启用互联网共享偏好设置,因此不存在问题。
在终端中使用curl http://127.0.0.1
会返回较短文件的HTML代码,但是对于较长的文件,它只会选择性地返回HTML文件,并且会在多次重复MacBook所有者的名字时出现奇怪的错误屏幕。
在终端中键入tail /var/log/apache2/error_log
会返回:
[warn] Init: Session Cache is not configured [hint: SSLSessionCache]
Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
[warn] NameVirtualHost *:80 has no VirtualHosts
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[notice] Apache/2.2.29 (Unix) PHP/5.4.45 DAV/2 mod_ssl/2.2.29 OpenSSL/0.9.8zg mod_perl/2.0.7 Perl/v5.16.2 configured -- resuming normal operations.
有人可以指出我正确的方向吗?
答案 0 :(得分:0)
1.grep进程使用netstats命令确保apache使用端口80(ipv4和ipv6) 2.如果lisner ip设置为127.0.0.1或0.0.0.0,请检查您的apache conf 3. telnet localhost 80 4.尝试其他浏览器firefox或safari
答案 1 :(得分:0)
我花了很多时间试图弄清楚网络实用程序输出的输出并尝试在终端中查找要包含netscape | greps的变量,但我确实设法让本地主机工作得更多或更少。我还不确定导致错误的原因。
我按照Boottress的Kyle Gadds在YouTube视频中发现的说明进行了操作:
https://www.youtube.com/watch?v=78wFR5Rp_Mw
我编辑了apache配置文件以包含:
/User/[YOUR_USER_NAME]/Sites/www
在文件中,我更改了AllowOverrides标志。 然后我注意到系统中缺少Sites文件夹,而php.ini文件是空的 制作新的Sites文件夹很简单。只需转到用户目录,让Finder创建一个名为&#34; Sites&#34;。的新文件夹 但是替换php更加困难。我不得不打开终端并输入
sudo cp /etc/php.ini.default /etc/php.ini
在命令行中,这带来了php.ini文件,我不得不修改权限。然后它奏效了。我希望这可以帮助任何有类似问题的人。