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

查看所有标签

猜你喜欢:

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

互联网的基因

互联网的基因

人民邮电出版社 / 2016-9-21 / 48.00元

《互联网的基因》是一本从电信看互联网创新,从互联网看电信创新的力作。作者何宝宏博士长期在电信行业从事互联网领域研究,是极为少有的“既懂IP又懂电信”的专家。该书借以电信和互联网技术创新的大脉络,用轻松、诙谐、幽默的语言,结合经济学、社会学、哲学、人类学甚至心理学理论,揭示互联网、云计算、大数据以及目前最热门的区块链等技术发展背后的规律。作者在该书中明确表示,互联网是新的技术物种,互联网有基因,互联......一起来看看 《互联网的基因》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具