【nginx】nginx 反向代理 swoole

项目使用 Laravel.

首先说明的是,Nginx 单独跑在一个 Docker 内,Php 单独跑在另一个 Docker 内,目前在 PhpDocker 中开启 Swoole,且在本容器内通过 http://127.0.0.1:1215(swoole监听的端口),可以正常输出结果. 但是通过 Nginx 转发访问的时候,就不行了,直接输出了 Laravel 的 public 文件夹下的 index.php 内容,而不是执行 php index.php...

下面是详细的配置信息.

http {

server {

listen 80 default_server;

listen [::]:80 default_server ipv6only=on;

root /var/www/track/public;

index index.php index.html index.htm;

# Make site accessible from http://localhost/

server_name *.baixing.cn *.baixing.com;

# Add stdout logging

error_log /var/log/nginx/error.log warn;

access_log /var/log/nginx/access.log;

#gzip

gzip on;

gzip_comp_level 6;

gzip_types text/css application/javascript text/xml application/json application/xml image/jpeg; # append to default: text/html

gzip_vary off; #代码中会输出完整的vary头

gzip_disable "msie6";

gzip_min_length 66;

location / {

proxy_http_version 1.1;

proxy_set_header Connection "keep-alive";

proxy_set_header X-Real-IP $remote_addr;

if (!-e $request_filename) {

proxy_pass http://192.168.10.2:1215;

}

}

}

}

希望有这方面经验的能给予些帮助,谢谢~~~~

【nginx】nginx 反向代理 swoole

回答

首先看你直接输出了,典型的 PHP_FPM 没执行,将其当文件了,问题出在这里,我看一下你的DockerFile或者docker-compose.yml
这里我觉得有点问题,你直接将其代理到这个IP去了,你在docker里设这个IP了吗?

    if (!-e $request_filename) {

proxy_pass http://192.168.10.2:1215;

}

以上是 【nginx】nginx 反向代理 swoole 的全部内容, 来源链接: utcz.com/a/85389.html

回到顶部