我们有一个设置,主站点(wordpress)在服务器上运行,所有应该出现在主站点内但不由 wordpress 提供的附加迷你站点都配置为别名:
Alias "/toolbox/some-application-directory" "/var/www/some-application-directory/current/public"
<Directory /var/www/some-application-directory/current/public>
AllowOverride All
Options FollowSymLinks Multiviews
Order allow,deny
Allow from all
Require all granted
</Directory>
此设置对所有应用程序都有效(或曾经有效),但我添加的最后一个应用程序开始出现异常,apache 会随机不解析该特定别名并显示主应用程序 (wordpress) 404。这在请求时随机发生。重新启动 apache 似乎可以暂时解决问题。但经过几次请求后,strats 会再次发生。日志中没有任何内容。应用程序作为 PHP 通过 apache(而不是 fpm)提供服务。任何关于从哪里开始查找的建议都将不胜感激。
答案1
万一其他人遇到类似的问题,就我而言这是由于某些僵尸 Apache 进程在重新启动 Apache 时不会终止。这些进程仍会保留旧的 vhost 配置,这就是导致问题的原因。
如何测试/解决这个问题?
粗暴的解决方案,我想有人可能有更好的解决方案:停止 apache 并检查是否还有任何 apache 进程,如果有,请手动终止它们并重新启动 apache,所有新工作者都将加载适当的配置。