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

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

内容简介:当你准备部署 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 文档 ] 快速入门 —— 部署应用到生产环境》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

软件测试

软件测试

乔根森 / 韩柯 / 机械工业出版社 / 2003-12-1 / 35.00元

《软件测试》(原书第2版)全面地介绍了软件测试的基础知识和方法。通过问题、图表和案例研究,对软件测试数学问题和技术进行了深入的研究,并在例子中以更加通用的伪代码取代了过时的Pascal代码,从而使内容独立于具体的程序设计语言。《软件测试》(原书第2版)还介绍了面向对象测试的内容,并完善了GUI测试内容。一起来看看 《软件测试》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具