nGinx中的调试产生1行并且无限挫折 - 如何调试调试器

时间:2014-01-10 05:39:26

标签: debugging nginx fastcgi hhvm

对于实验项目!我决定尝试用Facebook的新hhvm-fastcgi和wordpress设置我的博客。遵循说明并使用以下nGnix配置:

    server {
        listen *:80 default;
        server_name _;
        access_log /home/blogs/logs/nginx/access.log;
        error_log /home/blogs/logs/nginx/error.log debug;
        location / {
            deny all;
        }
    }

    server {
        listen *:80;
        server_name www.site.com;

        root /home/blogs/wordpress/;
        index index.html index.php index.htm;

        access_log /home/blogs/logs/nginx/site/access.log main;
        error_log /home/blogs/logs/nginx/site/error.log debug;

        # proxy_redirect off;
        set $myuri $request_uri;

        rewrite ^/wp-admin\/a$ /wp-admin/index.php;

        if (!-e $request_filename) {
            rewrite /wp-admin$ $scheme://$host$uri/ permanent;
            rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
            rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
        }

        # Try MemCached First
        location / {
            set            $memcached_key "$uri?$args";
            memcached_pass 127.0.0.1:11211;
            error_page     404 405 502 504 = @fallback;
        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /home/blogs/wordpress$fastcgi_script_name;
            include        fastcgi_params;
        }

        location @fallback {
            try_files $uri $uri/ /index.php?$args;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
            expires max;
            log_not_found off;
        }
    }

如果有效,那就太简单了。访问该网站只会导致我的浏览器挂起并最终放弃,但调试日志(从/home/blogs/logs/nginx/error.log /home/blogs/logs/nginx/site/error.log只是空白)只产生一行:

2014/01/03 19:20:35 [debug] 8536#0: epoll add event: fd:11 op:1 ev:00000001

我猜测弱链接是nGinx。

尝试从受限制的域中访问该站点,按预期生成403,并且调试日志实际工作。

我的问题是如何让我的设置工作,但 为什么 设置没有调试。一个简单的fuser告诉我Hip-hop 在9000上运行。如果我知道错误的话,我觉得我可以取得一些进展。


我对Stackoverflow的问题非常自我意识;我看到人们被撕开了,坦白地说这很安静。我意识到还有另一个类似的,非常近期的问题:HHVM with Nginx fastcgi not working properly但是考虑到我们的配置并不安静,我的问题更多是关于调试日志(尽管是非常短的)我认为我的情况需要另一个问题。


注意:

标记权限应为hhvm-fastcgi,但我没有代表将其创建为标记。

1 个答案:

答案 0 :(得分:2)

哇。哇哇。

在为太长时间挣扎之后结束了,原来是我的防火墙阻塞了端口80.为什么我能够调用403?我偶尔通过服务器运行代理,因此我测试的其他域被视为内部请求。

我猜这个代理混合是导致错误日志中出现任何内容的原因。

因为这种混淆一直非常令人尴尬 - 我要提出这个问题,因为我已经从这次经历中汲取了一些东西。

  • 首先,不要指责:

我立即假设因为没有其他任何东西可以调用它是nginx的错。奇怪的调试日志引起了我的怀疑。

  • 其次,看得更高:

没有必要看着堆栈的中间位置。我本来应该寻找请求,并确保甚至正在进行调用。

  • 第三,跟踪你的行为:

我明显的困惑源于我有一些奇怪的代理mojo正在发生的事实。如果我花时间记住我用我的服务器做的一切与众不同的事情,我可能会考虑提前检查我的防火墙设置。


我有机会获得风滚草徽章