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

是否可以在不安装卷的情况下将请求传递给php-fpm

发布时间:2020-12-13 20:56:42 所属栏目:Nginx 来源:网络整理
导读:我正在尝试将旧式整体迁移到k8s,现在我拥有nginx和php-fpm(带有代码)图像,并且我希望nginx仅提供http流量并将其传递给fpm,但是nginx坚持拥有文件,我不这样做.没有try_files指令,但是无论如何它都会尝试查找根文件和索引文件. 因此,是否有可能根本不将源代码

我正在尝试将旧式整体迁移到k8s,现在我拥有nginx和php-fpm(带有代码)图像,并且我希望nginx仅提供http流量并将其传递给fpm,但是nginx坚持拥有文件,我不这样做.没有try_files指令,但是无论如何它都会尝试查找根文件和索引文件.

因此,是否有可能根本不将源代码装载到nginx上,我真的不明白为什么应该将其放在那里,但是我找不到任何有效的示例

nginx.conf:

server {
    listen 80;

    index index.php;
    # This dir exist only in php-fpm container
    root /var/www/html/public; 

    location ~* .php${

        client_max_body_size 0;

        include fastcgi_params;
        fastcgi_pass php-fpm:9000;
        fastcgi_split_path_info ^(.+.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }
}

2018/08/17 16:44:40 [error] 9#9: *46 “/var/www/html/public/index.php” is not found (2: No such file or directory),client: 192.xxx.xxx.xxx,server:,request: “GET / HTTP/1.1”,host: “localhost”

192.xxx.xxx.xxx – – [17/Aug/2018:16:44:40 +0000] “GET / HTTP/1.1” 404 571 “-” “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/65.0.3325.146 Safari/537.36” “195.xxx.xxx.xxx”

最佳答案
问题是index指令需要文件index.php存在,以便内部将URI /重定向到/index.php.

您可以通过添加位置/在内部将所有内容重定向到/index.php来避免使用index指令.

例如:

location / {
    rewrite ^ /index.php last;
}
location ~* .php${
    root /var/www/html/public; 
    client_max_body_size 0;

    include fastcgi_params;
    fastcgi_pass php-fpm:9000;
    fastcgi_split_path_info ^(.+.php)(/.*)$;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $document_root;
}

(编辑:李大同)

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

    推荐文章
      热点阅读