- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 Rails 应用程序从 svn 存储库上传到我的服务器。在我的本地主机中,它工作正常,但是当我尝试通过 Chrome 访问时,出现以下错误:
There appears to be a database problem.
Your config/database.yml may not be written correctly. Please check it and fix any errors.
Your database schema may be out of date or nonexistant. Please run rake db:migrate to ensure that the database schema is up-to-date.
The database server may not be running. Please check whether it's running, and start it if it isn't.
我不知道该怎么做,因为这是我第一次尝试上传 Rails 项目,并且我正在远程服务器的本地主机中执行相同的操作。
顺便问一下,我也应该通过 ssh 连接运行 Rails 吗?
最佳答案
更新:要做的第一件事是接受部署方面的教育:start here on the Rails site .
所以问题是,在您的服务器上您需要设置一个数据库,就像在本地计算机上一样。从 SVN 检查代码只能得到应用程序,而不能得到数据库。
您在标题中提到您已在服务器上设置了 Passenger。 Passenger 是 Apache(或 Nginx)的一个模块,它取代 rails s
您在开发中使用的命令。您需要在此乘客配置文件中设置 RailsEnv <something>
确定应用程序启动和运行的内容以及方式。
如果数据库服务器相同(例如两个平台上的 MySQL)并且环境相同(例如“开发”),并且如果 app/db/database.yml
文件已 checkin 源代码管理,然后向前跳。
如果您的数据库和环境不同(例如开发中的 SQLLite 和生产中的 MySQL),那么您需要在 database.yml 中添加必要的配置 - 数据库名称、主机、端口、用户名、环境密码(并根据环境在 Gemfile 中指定正确的数据库 gem)。如果您要存储密码,我不建议检查database.yml 文件,但这是一个单独的主题。最后,您需要在服务器上的database.yml 中拥有正确的数据库配置。
然后,您可以运行bundle exec rake db:setup
从应用程序的根目录到服务器上。这将使用当前模式初始化数据库,并运行所需的任何 seeds.rb 设置。检查rake -T
查看您可能考虑的其他选项。
完成后,后续部署要求您从 SVN 检查最新代码,并且通常重新启动应用程序(对于 Passenger,这是通过应用程序根目录中的命令 touch tmp/restart.txt
完成的。如果您已对数据库结构,重启前,运行 bundle exec rake db:migrate
哦,是的,在生产中,如果您使用默认环境,您还需要运行 bundle exec rake assets:precompile
第一次,以及之后的每次(如果您添加了图像、更改了 javascript/coffeescript 或 css/sass 文件)。
话虽如此,@rwilliams 关于 Capistrano 的评论绝对是您想要考虑的事情。正如您所看到的,部署是很棘手的,并且随着您的应用程序变得越来越大,您会希望它变得简单。 Capistrano 允许您设置一个脚本,使部署成为像 cap deploy
这样的命令。或cap staging deploy:migrations
。有很多东西需要学习,但值得付出努力。
关于java - Rails 将 Rails 应用程序上传到 Passenger 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630181/
我使用以下命令安装了 Phusion Passenger sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CA
我已经调试了一天多了,没有运气, 安装 ruby、gems 和 Passenger 后,我尝试启动 Passenger,但我一直收到“找不到乘客”: passenger@dragon:/usr/w
基本上,我的路线运行完美,乘客似乎正在加载 - 一切都很好。除了没有 Railsy 发生。这是我从启动服务器到第一个请求的 Nginx 日志(忽略不同的域/路由 - 这是因为我还没有移动新域,并且它返
如果我通过以下方式安装 passenger 包: $ sudo apt-get install libapache2-mod-passenger 我还需要运行吗: $ passenger-inst
我在安装了 Passenger 和 Nginx(带有 Passenger 模块)的生产服务器上安装了一个 Rails 应用程序。但是,当我运行 rvmsudo passenger-status 时,它
这是一个在 Phusion Passenger 上运行的 Rails 应用。 在开发环境(乘客独立模式)中,我在基于 Vagrant Ubuntu 14.04 的机器上运行它,在 MBP(工作)和 L
http://nodejs-resume.developmentserver.me/ 当网站加载时, /usr/local/dh/passenger/helper-scripts/node-loade
如果我在 enterprise passenger 中配置滚动重启,然后触摸 restart.txt,我如何以编程方式检查该过程是否已完成并可以保证不再提供旧版本? 最佳答案 我知道自问这个问题以来已
我有一个 sinatra 应用程序,其页面显示有关该应用程序的一些信息。其中一些是通过在页面加载时运行命令生成的。在 unicorn 中运行时,我的 MacBook 上一切正常,在 unicorn 中
我很难弄清楚如何使用 rbenv连同 passenger .我在运行 debian 6 ,所以我安装了 passenger来自 oss-binaries.phusionpassenger.com存储库
Phusion Passenger 的 Apache 模块安装在哪里?我想调整“Configuring Phusion Passenger”中的一些配置值。 我不知道这个配置文件在哪里。我已经按照 N
TL; DR =无法让Passenger / Nginx从Django调用我们的应用程序。 “passenger-status”未显示当前运行的非Docker服务器中显示的正确应用程序组。 尝试将运行
我试图了解 Passenger Nginx 如何处理并发请求。我重新加载了一个页面并查看了生产日志。每次页面都会向服务器同时发送多个 ajax 请求。有一些任务需要昂贵的数据库查询,称为“status
我在我的 Linode 服务器上使用 Apache + Passenger,使用 Postgresql-9.4 数据库。每隔一段时间,我就会收到以下错误,但它是不可预测的,并且在几分钟后没有采取任何措
来了:我有一个在 RedHat 服务器上运行的 Rails 应用程序。我使用 Passenger Standalone v3.0.19 来提供服务。数据库是MySQL。最近我发现一些Passenger
我正在使用 nginx 和 Phusion Passenger 来引导加载 ruby on rails 应用程序,如果我像这样运行应用程序 rails s -e production 它确实正确连
我想使用 apache 和 passenger 将我的应用程序部署到我的本地服务器中。我安装了所有先决条件,如开发库和 passenger gem。然后我将这些行包含到我的/etc/apache2/h
我有一个使用 Phusion passenger + Apache 网络服务器部署的 Ruby on Rails 应用程序。每个请求是否都在由 Phusion Passenger 生成的自己的线程中运
我遇到了一个问题,无论我尝试什么,所有乘客实例都会在空闲期(5 分钟,但有时更长)后被销毁。我已阅读 Stack Overflow 上的乘客文档和相关问题/答案。 我的全局配置如下所示: Passen
我正在尝试通过运行以下命令来自动化 nginx/passenger 安装程序: passenger-install-nginx-module --auto --auto-download --extr
我是一名优秀的程序员,十分优秀!