> PHP 프레임워크 > Laravel > laravel nginx 구성 사이트

laravel nginx 구성 사이트

藏色散人
풀어 주다: 2021-03-03 09:10:16
앞으로
6524명이 탐색했습니다.

下面由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

위 내용은 laravel nginx 구성 사이트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿