Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用capistrano在ec2上部署了rails站点,但它没有';t显示在浏览器上,这是网站->;http://passionate4.net/_Ruby On Rails_Capistrano - Fatal编程技术网

Ruby on rails 使用capistrano在ec2上部署了rails站点,但它没有';t显示在浏览器上,这是网站->;http://passionate4.net/

Ruby on rails 使用capistrano在ec2上部署了rails站点,但它没有';t显示在浏览器上,这是网站->;http://passionate4.net/,ruby-on-rails,capistrano,Ruby On Rails,Capistrano,我正在使用ApachePassenger部署rails应用程序 我清楚地遵循了每一步,一切都很顺利。 部署中没有错误消息 但该网站并没有显示在浏览器上 这是文件 $ sudo cat /etc/apache2/sites-available/capi_app <VirtualHost *:80> ServerName www.passionate4.net DocumentRoot /var/www/apps/capi_app/public RailsEnv prod

我正在使用ApachePassenger部署rails应用程序

我清楚地遵循了每一步,一切都很顺利。 部署中没有错误消息

但该网站并没有显示在浏览器上

这是文件

$ sudo cat /etc/apache2/sites-available/capi_app 

<VirtualHost *:80>
  ServerName www.passionate4.net
  DocumentRoot /var/www/apps/capi_app/public
  RailsEnv production

  <Directory /var/www/apps/capi_app/public>
    Allow from all           
    Options -MultiViews          
  </Directory>
</VirtualHost>
$sudo cat/etc/apache2/sites available/capi_app
服务器名www.passionate4.net
DocumentRoot/var/www/apps/capi_app/public
RailsEnv生产
通融
选项-多视图

我也试着改变

$sudo cat/etc/apache2/可用站点/capi_应用程序

<VirtualHost *:80>
  ServerName www.passionate4.net
  DocumentRoot /var/www/apps/capi_app/current/public
  RailsEnv production

  <Directory /var/www/apps/capi_app/current/public>
    Allow from all      
    Options -MultiViews    
  </Directory>

</VirtualHost>

服务器名www.passionate4.net
DocumentRoot/var/www/apps/capi_app/current/public
RailsEnv生产
通融
选项-多视图
-->这样,当我重新启动apache时,我不知道error(///public)不存在,但站点仍然不显示

@马丁

$sudo cat/etc/apache2/站点启用/capi_应用程序

<VirtualHost *:80>
  ServerName www.passionate4.net
  DocumentRoot /var/www/apps/capi_app/current/public
  RailsEnv production      

  <Directory /var/www/apps/capi_app/current/public>
    Allow from all       
    Options -MultiViews
  </Directory>
</VirtualHost>

服务器名www.passionate4.net
DocumentRoot/var/www/apps/capi_app/current/public
RailsEnv生产
通融
选项-多视图
-----------deploy.rb文件-------------

需要“bundler/capistrano”
#使用RVM!
$:.unshift(“#{ENV[“HOME”]}/.rvm/lib”)
需要“rvm/capistrano”
设置:rvm_类型,:用户
设置:应用程序,“capi_应用程序”
set:deploy_to,“/var/www/#{application}”
角色:web,“50.18.155.154”#您的HTTP服务器,Apache/等
角色:应用程序,“50.18.155.154”#这可能与您的“Web”服务器相同
角色:db,“50.18.155.154”,:primary=>true#Rails迁移将在这里运行
默认运行选项[:pty]=真
集合:存储库,“git@github.com:jaipratik/capi_app.git“
set:scm,:git
集合:分支,“主”
设置:用户,“ubuntu”#如果出现错误,请使用播客中显示的内容
设置:使用_sudo,false
设置:管理员运行程序,“ubuntu”

set:rails_env,'production'#确保您的vhost位于
/etc/apache2/sites available
中的某个位置,然后确保将其添加到apache中,方法是使用
a2ensite
命令,或者手动将
/etc/apache2/sites enabled/your_vhost_name_链接到您所调用的站点

启用站点的可能命令(使用任一命令):

完成此操作后,请确保通过运行以下命令重新加载apache:

sudo service apache2 restart

你不使用Heroku有什么原因吗?您可以通过非常简单的部署获得EC2。

我将应用程序放置在var/www/myapplication的这个特定位置

这解决了错误“符号链接不允许或链接目标不可访问”。我将把我为解决这一问题所采取的所有步骤付诸实施

除此之外,我还将在博客上讨论如何解决首次将Rails3.1部署到ec2时出现的错误。这里->

服务器上是否运行apache,您是否已将vhost添加到启用的站点?是否已安装/加载乘客Apache模块?非常感谢您在@sparrovv帮助我:我确实使用cmd$sudo/etc/init.d/apache2重新启动了reload@Lloyd是的,我安装了apache模块&它完美地安装了$passenger-install-apache2-module。我记得我确实看到浏览器说它可以工作@马丁·弗罗斯特:我记得在这里添加了ghost$sudo vi/etc/apache2/sites available/capi_app。vhost行在本页顶部给出。我需要做类似的$sudo vi/etc/apache2/sites enabled/capi_应用程序吗?谢谢当我运行$sudo服务时,请重新启动apache2。我收到这个错误->警告:DocumentRoot[/var/www/capi\u app/public]不存在,它给我一个403禁止响应。哦,等等,你在用capistrano部署!vhost中的DocumentRoot不应该是这样的:
DocumentRoot/var/www/capi_app/current/public
?默认情况下,Capistrano创建一个小目录结构,包含不同的版本,并与当前版本进行符号链接。这可能是我的陷阱。是的,这就是我现在改变的。等等我更新了$sudo vi/etc/apache2/sites available/capi_app.&把副本放在有问题的上面。当我尝试重新启动$sudo/etc/init.d/apache2 reload*重新加载web服务器配置apache2警告:DocumentRoot[/var/www/apps/capi_app/public]不存在[确定]我猜大多数大型网站,甚至Heroku和Engine Yard,都是内部部署在amazon web服务上的。我同意我浪费了很多时间纠正错误&我从中学到了很多。此外,如果其他人可以在ec2上部署,为什么我不能?许多大型网站都使用Heroku.:)如果你想学习EC2,就自己动手吧。如果你真的想在不重新发明轮子的情况下完成工作,请使用Heroku.:)
sudo a2ensite your_vhost_name

sudo ln -s /etc/apache2/sites-available/your_vhost_name /etc/apache2/sites-enabled
sudo service apache2 restart