启动时启动symfony web服务器

启动时启动symfony web服务器,symfony,vagrant,Symfony,Vagrant,我有一台流浪机器来部署Symfony应用程序 现在我可以: 流浪汉 流浪汉 php/vagrant/app/console服务器:启动0.0.0.0:8000 从浏览器主机访问10.10.10.10:8000 Provision脚本安装php、postgresql,并根据条令创建数据库和chema 我想在机器运行ups时自动运行symfony web server。这样,开发人员就不需要通过ssh连接到这台流浪机器来启动这台服务器 我试图将“php/vagrant/app/console s

我有一台流浪机器来部署Symfony应用程序

现在我可以:

  • 流浪汉
  • 流浪汉
  • php/vagrant/app/console服务器:启动0.0.0.0:8000
  • 从浏览器主机访问10.10.10.10:8000
Provision脚本安装php、postgresql,并根据条令创建数据库和chema

我想在机器运行ups时自动运行symfony web server。这样,开发人员就不需要通过ssh连接到这台流浪机器来启动这台服务器

我试图将“php/vagrant/app/console server:start 0.0.0.0:8000”放在vagrant机器的/etc/rc.local中。但当我漫游时,服务器没有运行:-(

我的流浪汉档案:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network "private_network", ip: "10.10.10.10"      
  config.vm.provision "shell", path: "provision.sh"
end
My provision.sh文件:

#!/usr/bin/env bash
apt-get update > /dev/null
apt-get install --assume-yes php5-cli
apt-get install --assume-yes php5-mcrypt php5-intl php5-pgsql php5-curl
apt-get install --assume-yes postgresql
sudo sed -i "s/^;date.timezone =$/date.timezone = \"Europe\/Madrid\"/" /etc/php5/cli/php.ini |grep "^timezone" /etc/php5/cli/php.ini
echo "client_encoding = utf8" >> "/etc/postgresql/9.3/main/postgresql.conf"
php /vagrant/app/console doctrine:database:create
php /vagrant/app/console doctrine:schema:update --force
sed -i "s/^# By default this script does nothing.$/php \/vagrant\/app\/console server:start 0.0.0.0:8000\\n#next free place/" /etc/rc.local |grep "^php" /etc/rc.local
你知道如何让symfony的web服务器在vagrant上启动吗

谢谢


Jordi

如果您想从vagrant运行它,您可以在
vagrant文件中添加以下内容

config.vm.provision "shell", inline: "php /vagrant/app/console server:start 0.0.0.0:8000", run: "always"
基本上,无论您是否通过
provision
标志,它都会在每次运行
vagrant up
时运行
php
命令

如果希望流浪用户运行该命令,可以向该命令添加
privileged:“false”


正如其他人所建议的,您可能需要设置一个真正的web服务器(apache、nginx)因此,它可以从init运行

Symfony web服务器可能不是您的最佳选择。配置/安装完整的web服务器(如Nginx或Apache)会容易得多,最好与您计划在生产环境中使用的服务器相同。谢谢@Oldskool,您是对的,使用Apache(或Nginx)总是会更好.Symfony的web服务器选择只是为了更快、更简单地构建这台流浪机器。但我稍后会尝试。非常感谢@fhenri69。它解决了我的问题。为什么您认为使用标准web服务器更好?这只是为了开发。使用Apache可以更快?再次感谢!我不认为使用Apache更快,但它会反映您的产品ch总是很好,谢谢@fhenri69。没关系。如果没有更多的利润,对于这个项目,symfony的web服务器(至少现在)已经足够了,因为它是一个原型。谢谢你的反馈。