Home >PHP Framework >Laravel >Detailed explanation of nginx configuration site in laravel framework

Detailed explanation of nginx configuration site in laravel framework

不言
不言Original
2018-08-25 17:26:533855browse

本篇文章给大家带来的内容是关于laravel框架中nginx配置站点的详细讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言

设置laravel项目的域名站点的时候,需要对nginx做一些对应的重写rewrite配置,用来做相关路由,否则会报404。

nginx.conf配置

server {
    listen 80;
    server_name xxx.com;  #域名
    root /data/www/myProject/blog/public;  #站点目录,请求到laravel项目的public目录
    index index.html index.htm index.php;  #默认请求的文件
    
    location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000; 
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name; 
             
            include        fastcgi_params;
    }
    
    
    location / {
        try_files $uri $uri/ /index.php?$query_string; # 这一句是laravel部署必须的,将index.php隐藏掉
    }

    if (!-d $request_filename)
    {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    # 去除index action
    if ($request_uri ~* index/?$)
    {
        rewrite ^/(.*)/index/?$ /$1 permanent;
    }

    # 根据laravel规则进行url重写
    if (!-e $request_filename)
    {
          rewrite ^/(.*)$ /index.php?/$1 last;
          break;
    }
    location = /50x.html {
          root   html;
    }
}

操作及实例

  1. 对nginx.conf重写站点后,要重启nginx:

    sudo nginx -s reload
  2. 以laravel5.2版本为例,模拟输出hello world,可以在laravel项目中app/Http/routes.php中定义一个hello的路由:

     Route::get('/hello', function(){
         return 'hello world';
     });
  3. 浏览器输入xxx.com/hello即可在浏览器打印出hello world

相关推荐:

nginx下laravel框架rewrite的设置

Nginx中运行PHP框架Laravel的配置文件

The above is the detailed content of Detailed explanation of nginx configuration site in laravel framework. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn