设置nginx和php-fpm时出错


Errors while setting up nginx and php fpm

我正试图在运行centos 6、NGINX、PHP-FPM和WordPress的VPS上安装3个网站。我遵循了本文中的说明:https://deliciousbrains.com/hosting-wordpress-yourself-setting-up-sites/我在站点可用目录中创建了以下配置文件

server {
    server_name 7symptoms.com;
    access_log /var/www/html/7symptoms/logs/access.log;
    error_log /var/www/html/7symptoms/logs/error.log;
    root /var/www/html/7symptoms/public/;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$args; 
    }
 location ~ '.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+'.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}

我使用nginxtest命令测试了这些文件,php-fpm配置正确。但是,当我试图访问我的网站7symptoms.com上的一个简单的helloworld(hi.php)文件时,我得到了502坏网关或404找不到文件的错误。上面的代码有什么问题?

您在"sites available"中创建了配置,现在您应该将此字段链接到"sites enabled":

cd /etc/nginx/sites-enabled/ #please check that in centos this is correct path
ln -s ../sites-available/website_config_file .

接下来查看日志文件并检查,您的请求是否输入了正确的网站。

接下来,如果您使用的是nginx+php-fpm,则错误"502"表示php-fpm没有运行,或者您向套接字写入了错误的路径。请检查文件是否存在:/var/run/php-fpm.sock和(使用htop、top或ps)php-fpm进程是否工作。

接下来,如果你想拥有3个不同的网站,那么使用3个不同用户和3个不同php-fpm配置(对于每个网站)会更安全,这意味着还会创建3个不同unix套接字。