当前位置: 首页 > 面试题库 >

如何在生产中部署应急人员?

公西永嘉
2023-03-14
问题内容

GitHub的家伙们最近发布了他们的使用Redis的后台处理应用程序:http :
//github.com/defunkt/resque

http://github.com/blog/542-introducing-
resque

我让它在本地运行,但是我正在努力使其投入生产。有没有人得到:

  1. 用于部署工人的Capistrano配方(控制工人数量,重新启动工人等)
  2. 将工作人员部署到与运行主应用程序的机器分开的机器上,这里需要什么设置?
  3. 在服务器上重新启动后,redis得以幸免(我尝试将其放入cron,但没有运气)
  4. 您如何将resque-web(其出色的监视应用程序)用于部署?

谢谢!

附言:我在Github上发布了一个与此有关的问题,但尚未回复。希望有一些SO专家可以对此有所帮助,因为我在部署方面经验不足。谢谢!


问题答案:

Garrett的回答确实有所帮助,只是想发布更多细节。为了解决这个问题花了很多时间。

我也在用乘客,但用的是Nginx而不是Apache。

首先,不要忘了您需要安装sinatra,这使我感到有些困惑。 sudo gem install sinatra

然后,您需要为要运行的东西创建一个目录,并且它必须具有公共和tmp文件夹。它们可以是空的,但问题是git不会在存储库中保存空目录。该目录中必须至少包含一个文件,因此我制作了一些垃圾文件作为占位符。这是git中的怪异功能/错误。

我使用的是resque插件,因此我在那里建立了目录(默认的config.ru在其中)。看起来Garrett在他的rails_root中建立了一个新的“
resque”目录。任一个应该起作用。为了我…

cd MY_RAILS_APP/vendor/plugins/resque/
mkdir public 
mkdir tmp
touch public/placeholder.txt
touch tmp/placeholder.txt

然后我进行了编辑MY_RAILS_APP/vendor/plugins/resque/config.ru,使其看起来像这样:

#!/usr/bin/env ruby
require 'logger'

$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/lib')
require 'resque/server'

use Rack::ShowExceptions

# Set the AUTH env variable to your basic auth password to protect Resque.
AUTH_PASSWORD = "ADD_SOME_PASSWORD_HERE"
if AUTH_PASSWORD
  Resque::Server.use Rack::Auth::Basic do |username, password|
    password == AUTH_PASSWORD
  end
end

run Resque::Server.new

别忘了更改ADD_SOME_PASSWORD_HERE为想要用来保护应用程序的密码。

最后,我正在使用Nginx,所以这是我添加到我的nginx.conf中的内容

server {
  listen   80;
  server_name  resque.seoaholic.com;
  root /home/admin/public_html/seoaholic/current/vendor/plugins/resque/public;
  passenger_enabled on;
}

因此,它会在您的部署中重新启动,可能在deploy.rb中是这样的

run "touch #{current_path}/vendor/plugins/resque/tmp/restart.txt"

我不太确定这是否是最好的方法,我以前从未设置过机架/ sinatra应用程序。但这有效。

这只是为了使监视应用程序继续运行。接下来,我需要找出神的部分。



 类似资料:
  • 我们有一个Spring Boot Angular应用程序。目前,我们正在将其打包为一个jar并运行它。 使用包装作为JAR可以吗?或者我们应该转向WAR类型的包装。会有什么不同?

  • 我是机器学习算法的新手。我正在学习基本算法,如回归、分类、聚类、序列建模、在线算法。互联网上的所有文章都展示了如何将这些算法用于特定数据。没有关于在正式生产环境中部署这些算法的文章。所以我的问题是 1) 如何在生产环境中部署机器学习算法? 2)机器学习教程中遵循的典型方法是使用一些训练数据构建模型,并将其用于测试数据。但是,是否建议在生产环境中使用这种模型?传入的数据可能会不断变化,因此模型将无效

  • 删除警告 为了减少文件大小,Vue 精简独立版本已经删除了所有警告,但是当你使用 Webpack 或 Browserify 等工具时,你需要一些额外的配置实现这点。 Webpack 使用 Webpack 的 DefinePlugin 来指定生产环境,以便在压缩时可以让 UglifyJS 自动删除代码块内的警告语句。例如配置: var webpack = require('webpack') mo

  • 问题内容: 我已经编写了一个Node.js应用程序,我希望它可以在我们的生产机器上运行。这似乎是一个很普遍的要求,但我找不到合适的解决方案。是否存在用于部署生产Node.js应用程序的既定解决方案? 该应用程序很简单(<100 LOC),但是需要非常高效,可靠并且可以连续运行数年而无需重新启动。它将在大型站点上运行,每秒有数十个连接。(该应用程序不用作网络服务器,它只有JSON API) 这是我考

  • Kibana5 是是一个完整的 web 应用。使用时,你需要做的只是打开浏览器,然后输入你运行 Kibana 的机器地址然后加上端口号。比如说:localhost:5601 或者 http://YOURDOMAIN.com:5601。 但是当你准备在生产环境使用 Kibana5 的时候,比起在本机运行,就需要多考虑一些问题: 在哪运行 kibana 是否需要加密 Kibana 出入的流量 是否需要

  • 我似乎找不到任何关于如何在我的IBM Social Business SmartCloud站点中注册/部署应用程序的文档。这是在他们的云服务器上,而不是我自己的本地主机上。 我使用IBM SmartCloud Engage演示帐户订阅创建了一个Admin AppDeveloper用户帐户。我基本上是在尝试将HelloWorld iWidget添加到某个应用程序菜单中,但找不到注册/添加的位置,因此