nginx 1.14.0 配置部署 thinkphp 5.1

开始接触NGINX,配置tp5配了半天,找不到具体原因,于是用网上搜索到的配置复制粘贴搞定。

 感谢 https://blog.csdn.net/qq_36431213/article/details/80456993

开始以为是rewrite部分写不正确,其实根本就不用if(!-e $request_name){ rewrite ^(.*)$ /index.php/$ last;break;},

用 try_files $uri $uri/ index.php?$request_string;就可以,傻傻折腾了半天,要不得!!!

详看附件

  • 下面开始上配置
    server {
        listen       80; #端口
        server_name  localhost; #主机名
        set    $root  /usr/share/nginx/html/tp5/public/; #文件入口                                                                        
        index       index.php;                                                                                                    

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {                                                                                                     
            root   html;
        }
        #静态资源
        location ~ .*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
        {
         root  /usr/share/nginx/html;
        }

        location ~ .css {
           add_header  Content-Type    text/css;
        }

        location ~ .js {
            add_header  Content-Type    application/x-javascript;
        }
        #php请求
        location / {
            include   /etc/nginx/mime.types
            try_files $uri $uri/ /index.php?$query_string;
         }
        location ~ .php$ {
            root        $root;
            fastcgi_split_path_info ^(.+.php)(/.+)$;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $request_uri;

            include        fastcgi_params;                                                                                         
        }                                                                                                                          

        #
        location ~ /.ht {
            deny  all;
        }                                                                                                                          
    } 

或者

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        if (!-e $request_filename) {
           rewrite  ^(.*)$  /index.php?s=/$1  last;
           break;
        }
        root   /usr/share/nginx/html/tp5/public/;
        index  index.php;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
    #location ~ .php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ .php$ {
        root           /usr/share/nginx/html/tp5/public/;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /.ht {
    #    deny  all;
    #}
}

原文地址:https://www.cnblogs.com/caicaizi/p/9437171.html