加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

用nginx chrooting php-fpm

发布时间:2020-12-13 21:13:23 所属栏目:Nginx 来源:网络整理
导读:我正在使用PHP 5.3.9和nginx建立一个新的服务器,所以我使用php-fpm SAPI选项编译PHP.它本身在nginx中使用以下服务器条目很有效: server { listen 80; server_name domain.com www.domain.com; root /var/www/clients/domain.com/www/public; index index.ph

我正在使用PHP 5.3.9和nginx建立一个新的服务器,所以我使用php-fpm SAPI选项编译PHP.它本身在nginx中使用以下服务器条目很有效:

server {
    listen 80;
    server_name domain.com www.domain.com;

    root /var/www/clients/domain.com/www/public;
    index index.php;

    log_format gzip '$remote_addr - $remote_user [$time_local] "$request" $status $bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"';
    access_log /var/www/clients/domain.com/logs/www-access.log;
    error_log /var/www/clients/domain.com/logs/www-error.log error;

    location ~.php${
            fastcgi_pass 127.0.0.1:9001;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /var/www/clients/domain.com/www/public$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
    }
}

它很好地服务我的PHP文件.为了增加安全性,我想chroot我的FPM实例,所以我在这个FPM实例的conf文件中添加了以下行:

# FPM config
chroot = /var/www/clients/domain.com

并更改了nginx配置:

#nginx config for chroot
location ~.php${
            fastcgi_pass 127.0.0.1:9001;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME www/public$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
    }

通过这些更改,nginx为我提供了任何PHP脚本的File not found消息.查看错误日志,我可以看到它将根路径添加到我传递给fastcgi的DOCUMENT_ROOT变量,因此我尝试在位置块中覆盖它,如下所示:

fastcgi_param DOCUMENT_ROOT /www/public/;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

但我仍然得到相同的错误,并且调试日志显示发送到PHP-FPM的完整,未经过批次的路径.

为了让这个工作,我错过了什么?

最佳答案
看起来你忘记了/.

fastcgi_param SCRIPT_FILENAME www/public$fastcgi_script_name;

应该读:

fastcgi_param SCRIPT_FILENAME /www/public$fastcgi_script_name;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读