我已经在我的网站上工作了一段时间,现在我已经准备好推动这个全新的项目。
我已经阅读了Symfony2上关于应该做什么的链接,但我仍然认为它缺少一些细节。例如,它没有谈到我运行的一些命令,这些命令是为了让网站实时运行。
目前,这是我想做的事情,让它在现场工作:
php composer.phar install --no-dev --optimize-autoloader --no-scripts
rm -rf app/cache/*
php app/console assetic:dump --env=prod --no-debug
php app/console assets:install web --symlink --env=prod
还有什么需要做的吗?例如,我不希望live能够执行我的固定装置,也不希望任何用户能够访问www.mysite.com/app_dev.php
查看如何部署Symfony2应用程序。
请参阅上面的链接。部署Symfony2应用程序时采取的典型步骤包括:
- 将您修改后的代码上传到实时服务器
- 更新您的供应商依赖关系(通常通过Composer完成,也可能在上传之前完成(
- 运行数据库迁移或类似任务以更新任何更改的数据结构
- 清理(也许更重要的是,预热(你的缓存
常见部署后任务
- 配置你的app/config/parameters.yml文件
-
更新您的供应商
$php composer.phar install--无需开发--优化自动加载器
-
清除Symfony缓存
$php应用程序/控制台缓存:清除--env=prod--无调试
-
转储您的资产
$php app/console assetic:dump--env=prod--无调试
-
其他事情!
根据您的设置,您可能需要做很多其他事情:
- 运行任何数据库迁移
- 清除APC缓存
- 正在运行的资产:install(已在composer.phar install中处理(
- 添加/编辑CRON作业
- 将资产推送到CDN
看看capifony(https://github.com/everzet/capifony)。不幸的是,网站(http://capifony.org)当前已关闭。。
对我来说,最好的解决方案是将您的项目放在git或svn这样的版本系统中,当然没有供应商的dir。。。
这样,你只需要做:
1) git clone your project into the prod dir
2) php composer.phar install to install your vendors
2b) create the mysql user with correct login and password according to your parameters.yml
3) php app/console doctrine:database:create to create your database with the credentials you set up in mysql
4) php app/console doctrine:schema:update --force to perform the database tables creation
5) testing the project :)
如果你没有使用版本控制系统,只需使用ftp软件将你的项目上传到你的服务器上,而不需要供应商目录(它将在第2步提供(,然后执行第3、第4和第5步!
你现在应该能够通过你的域名url联系到你的项目。