Perl 和 nginx 配置

Perl 和 nginx 配置

我正在尝试让最新的 nginx 与 Perl 一起运行。我知道 Perl 本身已安装,因为我可以test.cgi从命令行完美运行。但是,当我尝试从浏览器运行时,我收到“502 Bad Gateway”错误。

以下是我当前的配置:

server {
    listen   80;
    server_name mysite.net www.mysite.net;
    access_log /srv/www/mysite.net/logs/access.log;
    error_log /srv/www/mysite.net/logs/error.log;
    root /srv/www/mysite.net/www;

    location / {
        root   /srv/www/mysite.net/www;
        index  index.html index.htm index.php;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/mysite.net/www$fastcgi_script_name;
    }

    location ~ \.cgi$ {
        gzip off;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
        fastcgi_index index.cgi;
        fastcgi_param SCRIPT_FILENAME /srv/www/mysite.net/cgi-bin$fastcgi_script_name;
    }

    location ~ /\.ht {
            deny all;
    }
}

有什么建议吗?我已经让其他所有需要的东西都运行起来了(PHP、nginx 本身、SFTP 等),但我无论如何也无法让 nginx 和 Perl 很好地运行。

以下是我达到这一步所遵循的教程:

https://www.linode.com/docs/websites/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin

据我所知,我已经完全按照它说的做了。

答案1

好的,不太确定我做了什么来修复它 - 但它现在正在运行

/var/运行/fcgiwrap.socket是 CHMOD 744 我将其设置为 666,然后重新启动 nginx。这似乎已经成功了。这是我使用的最终配置,希望它能帮助其他遇到类似问题的人:

server {
    listen   80;
    server_name mysite.net www.mysite.net;
    access_log /srv/www/mysite.net/logs/access.log;
    error_log /srv/www/mysite.net/logs/error.log;
    root /srv/www/mysite.net/www;

    location / {
        root   /srv/www/mysite.net/www;
        index  index.html index.htm index.php;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/mysite.net/www$fastcgi_script_name;
    }


    location ~ \.cgi$ {
        gzip off;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
        fastcgi_index index.cgi;
        fastcgi_param SCRIPT_FILENAME /srv/www/mysite.net/www/cgi-bin/$fastcgi_script_name;
    }


}

相关内容