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

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

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

查看所有标签

猜你喜欢:

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

七周七语言

七周七语言

Bruce A.Tate / 巨成、戴玮、白明 / 人民邮电出版社 / 2012-5-8 / 59.00元

内容简介: 从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。 Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、......一起来看看 《七周七语言》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具