首頁 > 後端開發 > php教程 > 网站部署 - Nginx配置PHP显示502错误

网站部署 - Nginx配置PHP显示502错误

WBOY
發布: 2016-06-06 20:26:03
原創
2168 人瀏覽過

nginx访问没有问题

nginx配置

<code>server {
        listen   8080;
     

        root /opt/nginx-1.7.8/html/demo;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /opt/nginx-1.7.8/html;
        }

        # pass the PHP scripts to FastCGI server listening on the php-fpm socket
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass  unix:/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                
        }</code>
登入後複製
登入後複製

/opt/nginx-1.7.8/html/demo目录下游index.php,然是访问报错502

<code>An error occurred.

Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.</code>
登入後複製
登入後複製

日志:

<code>2015/10/25 10:36:24 [crit] 12149#0: *1 connect() to unix:/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 219.217.226.133, server: example.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php5-fpm.sock:", host: "159.203.251.133:8080"

</code>
登入後複製
登入後複製

求助~

回复内容:

nginx访问没有问题

nginx配置

<code>server {
        listen   8080;
     

        root /opt/nginx-1.7.8/html/demo;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /opt/nginx-1.7.8/html;
        }

        # pass the PHP scripts to FastCGI server listening on the php-fpm socket
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass  unix:/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                
        }</code>
登入後複製
登入後複製

/opt/nginx-1.7.8/html/demo目录下游index.php,然是访问报错502

<code>An error occurred.

Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.</code>
登入後複製
登入後複製

日志:

<code>2015/10/25 10:36:24 [crit] 12149#0: *1 connect() to unix:/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 219.217.226.133, server: example.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php5-fpm.sock:", host: "159.203.251.133:8080"

</code>
登入後複製
登入後複製

求助~

日志已经写得很清楚了,是sock文件的权限问题,你需要让这个sock文件能够被nginx用户可写。可以配置为666,可以配置php-fpm以nginx用户启动,也可以让nginx用户加入php-fpm的组,然后sock设成660

贴出错误发现是权限问题。。。把/run/php5-fpm.sock改成777就没问题了。。

正确的应该怎样分配权限

我觉得起码得设置nginx用户拥有该权限

也可以考虑用php—fpm 9000端口的方式

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板