MacOS上的Apache 2.4突然权限错误


0

突然,我在MacOS Yosemite上的Apache 2.4本地安装停止了工作。问题似乎与权限有关,但我找不到出路。

经过几个小时并阅读了几篇文章,现在的情况是:

错误:

[authz_core:debug] [pid 35232] mod_authz_core.c(799): [client 127.0.0.1:55992] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[core:crit] (24)Too many open files: [client ::1:53498] AH00529: /Users/username/Sites/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/Users/username/Sites/' is executable

(我没有这样的.htaccess文件)。无论如何,我到处都残酷地执行777许可:

$ chmod -R a+rwx /Users/username
$ ls -l /Users/username
drwxrwxrwx  187 username  staff      6358 Dec 13 16:05 Sites
$ ls -l /Users/
drwxrwxrwx+ 174 username  staff  5916 Dec 13 16:39 username

我在httpd.conf中的指令如下:

<Directory "/Users/username/Sites/">
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All 
    Order allow,deny
    Allow from all
    #Require all granted - tried, doesn't matter
</Directory>

我可以摆脱AllowOverride,但是我确实需要.htaccess,无论如何,虚拟主机中的许多映像和资源仍然存在权限问题。

有人建议,我在httpd.conf中更改了apache用户

#User _www
#Group _www
User username
Group staff

还是一样。


1
更改权限对“打开的文件太多”没有帮助。重启你的电脑。
迈克尔·汉普顿

@MichaelHampton实际上,这是在重新启动计算机后已经显示的错误
Glasnhost

@MichaelHampton很好,正如您所建议的那样,我专注于“打开文件过多”的问题。我用lsof检查过,那里有351个httpd打开文件。我禁用了除一个虚拟主机之外的所有虚拟主机,现在看起来很稳定。我仍然不知道可能会发生什么变化而降低了我的限额,也不知道如何再次提高它……
Glasnhost

Answers:


0

您每天的点击量是多少?如果它们很高,则可以尝试更改缓存设置。可能是因为您一直在打开文件以试图缩短响应时间。您要托管几个虚拟域?您的虚拟主机的文件总数(大约)是多少?看来这可能是性能调整问题...


它仅用于本地开发,因此命中率不是问题。Apache无法启动!我有大约130个虚拟主机。我认为可能是apache在启动时尝试检查我的站点目录中的所有文件夹以查找.htaccess。文件夹的数量可以在数千个范围内。我不了解我的配置发生了什么变化,因为它直到上周才起作用。
Glasnhost
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.