首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以在nginx未挂载卷的情况下将请求传递到php-fpm

是否可以在nginx未挂载卷的情况下将请求传递到php-fpm
EN

Stack Overflow用户
提问于 2018-08-18 01:20:06
回答 1查看 3K关注 0票数 7

我正试着将我的遗留文件迁移到k8s,现在我有了nginx和php-fpm (带代码)图像,我想让nginx只服务于http流量并将其传递给fpm,但nginx坚持要有文件,我没有try_files指令,但它无论如何都会尝试找到根文件和索引文件。

所以有没有可能不将源代码挂载到nginx上,我真的不明白为什么它应该在那里,但我找不到任何可用的示例

nginx.conf:

代码语言:javascript
复制
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错误9#9:*46“/var/www.html/public/index.php”未找到(2:没有该文件或目录),客户端: 192.xxx.xxx.xxx,服务器:,请求:"GET / HTTP/1.1",主机:“本地主机”

192.xxx.xxx.xxx -- 17/Aug/2018:16:44:40 +0000 "GET / HTTP/1.1“404571 "-”"Mozilla/5.0 (X11;Linux x86_64) AppleWebKit/537.36 (KHTML,如壁虎) Chrome/65.0.3325.146 Safari/537.36“"195.xxx.xxx.xxx"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-18 03:20:29

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

您可以通过添加location /在内部将所有内容重定向到/index.php,从而避免使用index指令。

例如:

代码语言:javascript
复制
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;
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51900221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档