简体   繁体   English

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

[英]Problems with deploying symfony project to production server

I have a question about Symfony deployment. 我对Symfony部署有疑问。 I'm struggling with it for about 2 days allready... 我已经为它奋斗了大约2天...

What am i doing wrong? 我究竟做错了什么?

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

After that i run this command without --dry-run 之后,我不带--dry-run运行此命令

When i run this command the project is deployed to the right place. 当我运行此命令时,项目将部署到正确的位置。 So far, so good. 到现在为止还挺好。 (After that can i manually copy the webfolder in the public_html folder?) After doing that i login to the server with ssh and navigate to the folder where my app is located. (在那之后我可以手动将webfolder复制到public_html文件夹中吗?)之后,我使用ssh登录到服务器并导航到我的应用程序所在的文件夹。 Well then i run this commands: 好吧,我运行以下命令:

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

I also checked if the links in app.php 我还检查了app.php中的链接

When i visit the weblink i see an blank page. 当我访问网络链接时,我看到一个空白页。 Can somebody please help me? 有人能帮帮我吗?

Assuming that you've properly configured vhost, blank page is most likely internal server error. 假设您已经正确配置了虚拟主机,则空白页很可能是内部服务器错误。 I suggest you check apache2 log for this project and symfony2 log (app/logs) for more details. 我建议您检查该项目的apache2日志和symfony2日志(应用程序/日志)以获取更多详细信息。

From the information which you provided it looks like you have permission issues. 根据您提供的信息,您似乎遇到了权限问题。 You are running console commands as sudo user, so all generated files will require root access, unless you automatically set permissions for newly created files. 您以sudo用户身份运行控制台命令,因此所有生成的文件都将需要root用户访问权限,除非您自动为新创建的文件设置权限。

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

Also check parameters.yml file, if you have correct database configuration for this environment. 如果您对此环境具有正确的数据库配置,还请检查parameters.yml文件。

Here is a simple shell deployment script which I occasionally use when PHPCI (continuous integration) is not available. 这是一个简单的shell部署脚本,当PHPCI(连续集成)不可用时,我偶尔会使用它。 It doesn't perform database updates, just simply copies project from git repository and runs basic commands. 它不执行数据库更新,仅从git存储库复制项目并运行基本命令。 I hope you will find it useful. 希望您会发现它有用。

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