[ Laravel 5.7 文档 ] 快速入门 —— 部署应用到生产环境

栏目: 编程语言 · PHP · 发布时间: 5年前

内容简介:当你准备部署 Laravel 应用到生产环境时,有一些重要的事情可以确保应用尽可能高效地运行,在本文档中我们就来探讨下这些要做的事情从而确保应用以最佳方式部署。如果部署应用的服务器运行的是 Nginx,可以使用下面的配置文件配置 Web 服务器。大部分情况下,这个文件需要根据服务器的配置做一些调整(如果你想要一个工具来协助管理服务器,可以考虑使用部署应用到生产环境时,确保优化过 Composer 的类自动加载映射以便 Composer 可以快速为给定类找到要加载的文件:

简介

当你准备部署 Laravel 应用到生产环境时,有一些重要的事情可以确保应用尽可能高效地运行,在本文档中我们就来探讨下这些要做的事情从而确保应用以最佳方式部署。

服务器配置

Nginx

如果部署应用的服务器运行的是 Nginx,可以使用下面的配置文件配置 Web 服务器。大部分情况下,这个文件需要根据服务器的配置做一些调整(如果你想要一个 工具 来协助管理服务器,可以考虑使用 Laravel Forge ):

server {
    listen 80;
    server_name example.com;
    root /example.com/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

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

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

优化

自动加载优化

部署应用到生产环境时,确保优化过 Composer 的类自动加载映射以便 Composer 可以快速为给定类找到要加载的文件:

composer install --optimize-autoloader

注:除了优化自动加载器之外,还要在项目代码仓库中包含 composer.lock 文件,这样的话项目依赖可以更快安装。

优化配置加载

部署应用到生产环境时,需要确保在部署过程中运行了 Artisan 命令 config:cache

php artisan config:cache

这个命令会将所有 Laravel 配置文件合并成一个缓存文件,从而极大减少框架在加载配置值时对文件系统的 IO 操作。

注:如果你在部署过程中执行了 config:cache 命令,需要确保只在配置文件中调用了 env 函数。一旦配置被缓存后,就不会再加载 .env 文件,因此所有对 env 函数的调用都会返回 null

优化路由加载

如果你正在构建一个包含大量路由的大型应用,需要确保在部署过程中运行了 Artisan 命令 route:cache

php artisan route:cache

这个命令会生成一个缓存文件将所有路由注册浓缩到单个方法调用,从而在注册大量路由时提升路由注册性能。

注:由于该特性使用了 PHP 序列化功能,所以只能缓存基于控制器的应用路由,因为 PHP 不能序列化闭包。

使用 Forge 部署

如果你对自己管理服务器配置、安装各种工具软件以及维护大型应用所需服务没有信心,或者觉得这些操作过于繁琐,那么 Laravel Forge 是一个不错的选择。

Laravel Forge 可以在不同的云服务供应商(例如 DigitalOcean、Linode、AWS 等)中创建服务器,此外,Forge 还会帮你安装并管理构建大型 Laravel 应用所需的所有工具,例如 Nginx、 MySQLRedisMemcached 、Beanstalk 等等。


以上所述就是小编给大家介绍的《[ Laravel 5.7 文档 ] 快速入门 —— 部署应用到生产环境》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

系统程序员成长计划

系统程序员成长计划

李先静 / 人民邮电出版社 / 2010-04 / 45.00

在学习程序开发的过程中,你是否总是为自己遇到的一些问题头疼不已,你是否还在为写不出代码而心急如焚?作为软件开发人员,你是否时时为自己如何成为一名合格的程序员而困惑不已?没关系,本书将为你排忧解难。 这是一本介绍系统程序开发方法的书。书中结合内容详尽的代码细致讲述了不少底层程序开发基础知识,并在逐步深入的过程中介绍了一些简单实用的应用程序,最后还讲述了一些软件工程方面的内容,内容全面,语言生动......一起来看看 《系统程序员成长计划》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具