我无法找到如何将单个 URL 映射到单个静态文件。我试过:
location /feeds/seznam/ {
alias /path/to/file/feed.xml;
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用(在日志中我看到它将 index.html 附加到路径)。
我有多个运行 Wordpress 的虚拟网站,但这个网站开始抛出错误,我无法找到问题所在。
阿帕奇 说:
[Tue Jul 30 14:13:40 2013] [error] [client 82.100.0.70] FastCGI: comm with server "/var/www/uzivatel/www.domena.xy.php5-fcgi" aborted: idle timeout (30 sec)
[Tue Jul 30 14:13:40 2013] [error] [client 82.100.0.70] FastCGI: incomplete headers (0 bytes) received from server "/var/www/uzivatel/www.domena.xy.php5-fcgi"
Run Code Online (Sandbox Code Playgroud)
但是PHP-FPM日志是可以的(它是在请求后的几毫秒内生成的):
- - 30/Jul/2013:14:13:10 +0200 "GET /index.php" 200 /var/www/uzivatel/webs/www.domena.xy/index.php 793.871 35072 37.79/30.23
Run Code Online (Sandbox Code Playgroud)
有代码 200,所以页面似乎被正确创建,但 Apache 的行为就像没有来自 fastcgi 服务器的回复。
但有趣的是,当我之前剪切页面生成时,apache 将其正确返回给客户端。但是如果我<?php die(); ?>在标签之后插入,也会发生同样的错误。
有没有办法调试apache和fastcgi服务器之间的通信?
这是配置(相同的配置适用于另一个虚拟网站):
<VirtualHost 1.2.3.4:80>
ServerName www.domena.xy
DocumentRoot /var/www/uzivatel/webs/www.domena.xy/
FastCgiExternalServer /var/www/uzivatel/www.domena.xy.php5-fcgi -socket /tmp/php-fpm/php-www.domena.xy.socket -pass-header Authorization
Action php5-fcgi …Run Code Online (Sandbox Code Playgroud)