鍍金池/ 問答/PHP  Linux/ nginx 反向代理 swoole

nginx 反向代理 swoole

項目使用 Laravel.

首先說明的是,Nginx 單獨跑在一個 Docker 內(nèi),Php 單獨跑在另一個 Docker 內(nèi),目前在 PhpDocker 中開啟 Swoole,且在本容器內(nèi)通過 http://127.0.0.1:1215(swoole監(jiān)聽的端口),可以正常輸出結(jié)果. 但是通過 Nginx 轉(zhuǎn)發(fā)訪問的時候,就不行了,直接輸出了 Laravel 的 public 文件夾下的 index.php 內(nèi)容,而不是執(zhí)行 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;
            }
        }
    }
}

希望有這方面經(jīng)驗的能給予些幫助,謝謝~~~~

clipboard.png

回答
編輯回答
魚梓

首先看你直接輸出了,典型的 PHP_FPM 沒執(zhí)行,將其當文件了,問題出在這里,我看一下你的DockerFile或者docker-compose.yml
這里我覺得有點問題,你直接將其代理到這個IP去了,你在docker里設這個IP了嗎?

    if (!-e $request_filename) {
        proxy_pass http://192.168.10.2:1215;
    }
2017年12月25日 00:32