繁体   English   中英

列出了Apache本地虚拟主机,但不起作用

[英]Apache local virtual host is listed but doesn't work

我需要将我的网站配置为在Apache中作为虚拟目录在本地服务器中进行访问的帮助。 我正在尝试使用端口8050,当我打开localhost:8050时,它显示:

无法访问此站点本地主机拒绝连接。 ERR_CONNECTION_REFUSED

当我尝试在浏览器中访问我的localhost:80时,它显示默认空白页面,并显示消息“ It Works”
如果我在配置中将virtualhost更改为* .80,它会一直显示默认消息“ It Works”,而不是我的页面。

apachectl -t返回语法OK
命令:
apachectl -t -D DUMP_VHOSTS返回:

VirtualHost配置:
*:8050 personal.com(/private/etc/apache2/extra/httpd-vhosts.conf:24)

我的httpd.conf文件中的Servername是localhost,它还包含:
听8050

听本地主机:8050

这是我在etc / apache2 / extra / httpd-vhosts.conf中的httpd-vhosts:

<VirtualHost *:8050>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Users/renatobento/Documents/Projetos/Personal"
    ServerName personal.com
    ErrorLog "/private/var/log/apache2/personal.com-error_log"
    CustomLog "/private/var/log/apache2/personal.com-access_log" common
<Directory "/Users/renatobento/Documents/Projetos/Personal">
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
</VirtualHost>

路径“ / Users / renatobento / Documents / Projetos / Personal”似乎是正确的,并且包含带有某些内容的简单index.html,可在浏览器中使用文件协议运行:“ file:/// Users / renatobento / Documents / Projetos /personal/index.html”

已执行apachectl stopapachectl startapachectl restart数千次

在stop命令之后,localhost:80仍然显示消息“ It Works”

我正在使用MAC OSX 10.3 High Sierra,Apache 2.4

服务器版本:Apache / 2.4.33(Unix)服务器内部版本:2018年4月3日23:45:11服务器模块编号:20120211:76服务器已加载:APR 1.5.2,APR-UTIL 1.5.4使用以下命令编译:APR 1.5。 2,APR-UTIL 1.5.4体系结构:64位服务器MPM:前叉线程:否分支:是(可变进程计数)服务器使用...编译-D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6(启用了IPv4映射的地址)-D APR_USE_FLOCK_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT / EXE = / DATE / ID = BIN -D /run/httpd.pid“ -D DEFAULT_SCOREBOARD =” logs / apache_runtime_status“ -D DEFAULT_ERRORLOG =” logs / error_log“ -D AP_TYPES_CONFIG_FILE =” / private / etc / apache2 / mime.types“ -D SERVER_CONFIG_FILE =” / private / etc /apache2/httpd.conf”

编辑:尝试使用其他端口:9050,但仍无法正常工作

检查是否有DocumentRoot 权限

/Users/renatobento/Documents/Projetos/Personal

设置为所有人都可以使用

您的整体配置似乎很好。


检查您的/etc/hosts文件,如果其中包含类似

127.0.0.1    localhost
127.0.0.1    personal.com

要编辑此文件,请在终端中键入sudo nano /etc/hosts ,然后在编辑后键入sudo killall -HUP mDNSResponder刷新DNS缓存。

问题解决了。 很奇怪,看起来重启Apache和缓存命令有时还不够。 系统重新启动后,该消息更改为403-禁止。

我用lsof -nP -i4TCP:80 | grep LISTEN检查了端口lsof -nP -i4TCP:80 | grep LISTEN lsof -nP -i4TCP:80 | grep LISTEN lsof -nP -i4TCP:8050 | grep LISTEN lsof -nP -i4TCP:8050 | grep LISTEN lsof -nP -i4TCP:9050 | grep LISTEN lsof -nP -i4TCP:9050 | grep LISTEN

它显示了4个httpd进程,即使apache停止也正在监听:80,然后在重新启动后出现了一个监听正确端口的进程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM