如何部署一个Symfony应用程ob娱乐下载序
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 6.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
如何部署一个Symfony应用程ob娱乐下载序
部署一个Symfony应ob娱乐下载用程序可以是一个复杂而多样的任务根据设置和应用程序的需求。本文不是一个循序渐进的指南,但最常见的是一个通用的列表为部署需求和想法。
ob娱乐下载Symfony部署基础知识
典型的步骤而部署一个Symfony应用程序包括:ob娱乐下载
- 上传你的代码到生产服务器;
- 安装您的供应商依赖(通常通过作曲家和可能做过上传);
- 运行数据库迁移或类似的任务更新任何改变数据结构;
- 清算(和可选,热身)你的缓存。
部署可能还包括其他任务,比如:
如何部署一个Symfony应用程ob娱乐下载序
有几种方法可以部署一个Symfony应用程序。ob娱乐下载从一些基本部署策略和建立。
使用源代码控制
如果你使用源代码控制(例如Git或SVN),可以简化也通过现场安装存储库的副本。当你准备升级,获取最新的更新从你的源代码控制系统。使用Git时,一个常见的方法是创建一个标签为每个发布和查看相应的标签部署(见Git标签)。
这使得更新你的文件更容易,但你仍然需要手动担心采取其他步骤常见的部署任务)。
使用平台作为一种服务
使用平台即服务(PaaS)可以是一个伟大的方式迅速部署Symfony应用。ob娱乐下载有许多PaaS,但我们建议Platform.sh因为它提供了一个专用的Symfony集成,帮助基金Syob娱乐下载mfony的发展。
使用构建脚本和其他工具
也有工具来帮助缓解疼痛的部署。他们中的一些已经专门针对Symfony的要求。ob娱乐下载
- 部署人员
- 这是另一个原生PHP Capistrano的改写,与一些Symfony的准备的食谱。ob娱乐下载
- Ansistrano
- Ansible角色,允许您配置一个强大的部署通过YAML文件。
- Magallanes
- 这Capistrano-like部署工具是建立在PHP中,PHP开发人员可能容易扩展的需求。
- 织物
- 这个基于python库提供了一个基本的操作来执行本地或远程shell命令和上传/下载文件。
- Capistrano与ob娱乐下载Symfony插件
- Capistrano是一个用Ruby编写自动化远程服务器和部署工具。ob娱乐下载Symfony插件是一个插件来缓解Symfony相关任务,ob娱乐下载灵感来自Capifony(只能用Capistrano 2)。
常见的部署任务
之前和之后的实际部署您的源代码,有很多共同的事情你需要做:
)检查要求
有一些技术要求运行Symfony应用程序ob娱乐下载。在开发机器,检查这些需求推荐的方法是使用obb体育 。然而,在生产服务器你可能更喜欢不安装Symfony CLI工具。ob娱乐下载在这些情况下,在应用程序中安装这个包:
1
美元作曲家需要symfony / reob娱乐下载quirements-checker
然后,确保检查包含在你的作曲家脚本:
1 2 3 4 5 6 7 8 9 10 11 12
{“…”:“…”,“脚本”:{“auto-scripts”:{“供应商/ bin / requirements-checker”:“php脚本”,“…”:“…”},“…”:“…”}}
B)配置环境变量
大多数Syob娱乐下载mfony应用程序读取的配置环境变量。通常在开发本地,你会存储这些.env
和.env.local
(为当地覆盖)。在生产,你有两个选择:
- 创建“真实”环境变量。如何设置环境变量,取决于你的设置:他们可以在命令行中设置,在你的Nginx的配置,或通过其他方法所提供的你的托管服务;
- 或者,创建一个
.env.local
文件像你本地的发展。
没有显著优势的两个选择:使用任何托管环境是最自然的。
提示
你可能不希望应用程序来处理.env。*
对每个请求的文件。你可以生成一个优化.env.local.php
覆盖所有其他配置文件:
1
美元作曲家dump-env刺激
生成的文件将包含所有配置存储在.env
。如果你想仅仅依靠环境变量,生成一个没有任何值使用:
1
美元作曲家dump-env刺激——空
如果作曲家
不是安装在您的服务器上,你可以用一个命令生成这个优化文件提供的Symfony本身,在使用前,您必须在您的应用程序注册:ob娱乐下载
1 2 3
#配置/ services.yaml服务:ob娱乐下载Symfony命令\组件\ Dotenv \ \ DotenvDumpCommand:~
1
美元APP_ENV =刺激APP_DEBUG = 0 php bin /控制台dotenv:转储
C)安装/更新你的供应商
可以更新你的供应商在转移你的源代码(即更新供应商/
与你的源代码目录,然后转移)或之后在服务器上。无论哪种方式,更新你的供应商为你通常做的事:
1
美元作曲家——no-dev optimize-autoloader安装
提示
的——optimize-autoloader
国旗作曲家的自动装卸机性能显著提高构建一个“类地图”。的——no-dev
国旗确保发展包没有安装在生产环境。
谨慎
如果你得到一个“找不到”的错误在这个步骤中,您可能需要运行出口APP_ENV =刺激
(或出口SYMFOob娱乐下载NY_ENV =刺激
如果你不使用ob娱乐下载Symfony Flex在运行此命令之前,这样post-install-cmd
脚本运行在刺激
环境。
E)其他事情!
可能会有很多其他的事情,你需要做的,根据您的设置:
- 运行任何数据库迁移
- 清理你的APCu缓存
- 添加/编辑CRON作业
- 建设和削减你的资产与Webpack安可
- 推动资产的CDN
- 在共享主机平台上使用Apache web服务器,您可能需要安装ob娱乐下载symfony / apache-pack包
- 等。
应用程序生命周期:持续集成、质量保证等。
虽然本文涵盖的技术细节部署代码的完整生命周期从开发到生产可能更多步骤:部署分期,QA(质量保证),运行测试等。
使用分段、测试、QA、持续集成、数据库迁移和回滚的能力在失败的情况下都是强烈建议。有简单和更复杂的工具和一个可以部署简单或复杂的环境需要。
别忘了部署您的应用程序还包括更新任何依赖项(通常通过作曲家),数据库迁移,清理你的缓存和其他潜在的推动资产CDN(见之类的东西常见的部署任务)。
故障排除
部署不使用composer.json
文件
的项目根目录(其值是通过使用kernel.project_dir
参数和getProjectDir ()由Symfony自动计算方法)作为主要的目录ob娱乐下载composer.json
文件存储。
在部署使用composer.json
文件,你需要覆盖getProjectDir ()方法在这一节中解释。