End.

nginx配置发布laravel项目的server配置

nginx配置可参考《centos7 搭建 LNMP环境 (PHP7、Mysql5.7)


当lnmp环境能正常运行,我们只需要稍微修改 location / {}的内容 即路由规则,我们根据laravel的官方推荐写法:try_files $uri $uri/ /index.php?$query_string; 意思大概是交给laravel单入口文件index.php,发起一个内部 “子请求”,即laravel的内部路由规则。 root的设置要到laravel的public下,因为入口文件index.php就在这个目录。

如下是我测试可用的配置:

server {
        listen       80;
        server_name  www.laravel.com;
        root         /mnt/hgfs/laravel/blog/public;
        index index.php index.html index.htm;

        location / {
          try_files $uri $uri/ /index.php?$query_string;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

        location ~ .php$ {
          try_files $uri =404;
          root /mnt/hgfs/laravel/blog/public;
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi.conf;
        }

}

the End.

End.