资讯专栏INFORMATION COLUMN

laravel学习之nginx配置站点

frank_fun / 2946人阅读

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

前言

设置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;
    }
}
操作及实例

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

sudo nginx -s reload

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

 Route::get("/hello", function(){
     return "hello world";
 });

浏览器输入xxx.com/hello即可在浏览器打印出hello world

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29307.html

相关文章

  • laravel习之nginx配置站点

    摘要:前言设置项目的域名站点的时候,需要对做一些对应的重写配置,用来做相关路由,否则会报。 前言 设置laravel项目的域名站点的时候,需要对nginx做一些对应的重写rewrite配置,用来做相关路由,否则会报404。 nginx.conf配置 server { listen 80; server_name xxx.com; #域名 root /data/www...

    Jaden 评论0 收藏0
  • Laravel 习之 XSRF-TOKEN 验证问题

    摘要:近日在学习在写登录模块时用传递数据一直报错误后了解需要在代码中添加如下代码标签中添加如下代码在发起请求时添加如下在请求头添加验证符测试成功但是如果整个页面也多个请求呢 近日在学习laravel,在写登录模块时用ajax-post传递数据,一直报TokenMismatchException错误,后了解需要在html代码中添加如下代码 //标签中添加如下 代码 在发起ajax-post请求...

    TesterHome 评论0 收藏0
  • Docker习之Dockerfile 构建镜像(3)

    摘要:我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置文件。指令之指令的目的就是来指定基础镜像。指令之指令是用来执行命令行命令的。由于命令行的强大能力,指令在定制镜像时是最常用的指令之一。构建镜像这里我们使用了命令进行镜像构建。 我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜...

    Lavender 评论0 收藏0
  • 从零开始部署一个 Laravel 站点

    摘要:流程大概是这样本地代码阿里云既然要使用,那么先在上安装安装完成就可以使用了,然后在上创建一个私有项目,里面包含所有该项目所需代码。 以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境的 首先删除阿里云ECS的Linux中会给你预装Apache 通过下面的命令来删除Apache sudo service apache2 stop ...

    Fourierr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<