部署

Laravel 中文文档 · 2018-11-28 08:07:55

介绍

当你准备好将 Laravel 应用部署到生产环境时,你可以执行一些操作来确保应用程序尽可能高效地运行。在本文档中,我们将介绍一些确保 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 --no-dev

除了优化自动加载之外,还应该确保项目的源代码管理库中包含了 composer.lock 文件。因为当 composer.lock 文件存在时,项目的依赖项可以被更快地安装。

优化配置加载

当你将应用部署到生产环境时,请确保在部署过程中运行 Artisan 命令:

php artisan config:cache

这个命令可以将所有 Laravel 的配置文件合并到单个文件中缓存,此举能大大减少框架在加载配置值时必须执行的系统文件的数量。

如果你在部署过程中执行了 config:cache 命令,那么你应该确保仅在配置文件中调用了 env 函数,一旦配置被缓存了,将不会加载 .env 文件,(除配置文件外)对 env 函数的所有调用都将返回 null。

优化路由加载

如果你构建的是具有许多路由的大型应用程序,那你应该在部署过程中运行 Artisan 命令 route:cache

php artisan route:cache

这个命令可以将所有路由注册减少为缓存文件中的单个方法调用,以达到当应用程序在注册数百条路由时,提高路由注册的性能。

由于此功能使用 PHP 序列化,而 PHP 无法序列化闭包,因此只能缓存应用程序中基于控制器的路由。

Forge 部署

如果你还没有准备好管理自己的服务器配置,或者你的服务器没有配置 Laravel 应用程序所需的各种服务,「Laravel Forge」是一个不错的选择。

Laravel Forge 可以在各种基础设施提供商(如 DigitalOcean、Linode、AWS 等)上创建服务器。此外,Forge 还能安装和管理构建 Laravel 应用程序所需的所有工具,如 Nginx、MySQL、Redis、Memcached、Beanstalk 等。

点击查看所有 Laravel 中文文档 文章: https://www.codercto.com/courses/l/3.html

查看所有标签

Python基础教程

Python基础教程

[挪] Magnus Lie Hetland / 袁国忠 / 人民邮电出版 / 2018-2-1 / CNY 99.00

本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识;最后,作者结合......一起来看看 《Python基础教程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

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

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具