[英]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.