繁体   English   中英

将symfony项目部署到生产服务器的问题

[英]Problems with deploying symfony project to production server

我对Symfony部署有疑问。 我已经为它奋斗了大约2天...

我究竟做错了什么?

sudo rsync -avCz  --no-o --no-g --no-p --del --dry-run . [  PATH (private)  ]  --exclude 'web' --exclude '.htaccess' --exclude 'cgi-bin/'

之后,我不带--dry-run运行此命令

当我运行此命令时,项目将部署到正确的位置。 到现在为止还挺好。 (在那之后我可以手动将webfolder复制到public_html文件夹中吗?)之后,我使用ssh登录到服务器并导航到我的应用程序所在的文件夹。 好吧,我运行以下命令:

php app/console doctrine:schema:update --force   <-- to update my database
sudo php app/console assets:install ../public_html --symlink  <-- install assets
sudo php app/console assetic:dump --env=prod --no-debug --force <-- dump assets
php -d memory_limit=256M app/console cache:clear --env=prod --no-debug <-- clear cache

我还检查了app.php中的链接

当我访问网络链接时,我看到一个空白页。 有人能帮帮我吗?

假设您已经正确配置了虚拟主机,则空白页很可能是内部服务器错误。 我建议您检查该项目的apache2日志和symfony2日志(应用程序/日志)以获取更多详细信息。

根据您提供的信息,您似乎遇到了权限问题。 您以sudo用户身份运行控制台命令,因此所有生成的文件都将需要root用户访问权限,除非您自动为新创建的文件设置权限。

尝试设置: sudo chown -R www-data:www-data project/

如果您对此环境具有正确的数据库配置,还请检查parameters.yml文件。

这是一个简单的shell部署脚本,当PHPCI(连续集成)不可用时,我偶尔会使用它。 它不执行数据库更新,仅从git存储库复制项目并运行基本命令。 希望您会发现它有用。

rm -rf /var/www/project.com
git clone --depth 1 git@bitbucket.org:sample/repo.git /var/www/project.com
cd /var/www/project.com
php /usr/local/bin/composer.phar install --optimize-autoloader --no-interaction
cp /home/user/deployment/parameters.yml /var/www/project.com/app/config/parameters.yml
cp -r /home/user/deployment/media /var/www/project.com/web/media
php /var/www/project.com/app/console cache:clear --env=prod --no-debug
php /var/www/project.com/app/console assetic:dump --env=prod --no-debug
sudo chmod -R 775 /var/www/project.com/app/cache
sudo chmod -R 775 /var/www/project.com/app/logs
sudo chown -R www-data:www-data /var/www/project.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM