新手问题 如何给 Rack 应用指定 Web Server

lilijreey · 2016年07月05日 · 最后由 lilijreey 回复于 2016年07月07日 · 3275 次阅读

大叫好,我用 middleman 写 slide,当前需要显示 video 但是默认的 webRick 不支持 video 播放,我想把 web Server 换成 thin,用同学知道如何换吗? 有一个 config.ru 的文件

rackup -s Puma

-s, --server SERVER serve using SERVER (thin/puma/webrick/mongrel)

#1 楼 @huacnlee 大神你好😁 我使用 thin start -R config.ru 启动 middleman, 但是得到了一个依赖问题, (git-master):~/jk/stat$ thin start -R config.ru WARN: Unresolved specs during Gem::Specification.reset: parallel (>= 0) activesupport (>= 3.1, ~> 4.2) nokogiri (>= 1.3.3, ~> 1.3) mime-types (>= 1.16) sass (>= 3.4) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. /home/god/.rvm/gems/ruby-2.2.3/gems/bundler-1.11.2/lib/bundler/runtime.rb:34:in `block in setup': You have already activated concurrent-ruby 1.0.0, but your Gem 0.9.2

我本机安装有 concurrent-ruby 1.0.0 和 0.9.2 版本,这是什么情况?

....
Gemfile
Gemfile.lock
config.ru
....

config.ru

require 'rubygems'
require 'bundler/setup'

Bundler.require(:default)

# ......

#4 楼 @mimosa 什么意思?我招你的添加了,还是不行

cat Gemfile

ource 'https://rubygems.org'

gem "sinatra"
...
gem "thin"

cat config/thin.yml

---
environment: production
chdir: /path/app
pid: tmp/thin.pid
rackup: config/config.ru
log: log/thin.log
max_conns: 1024
port: 8001
timeout: 30
max_persistent_conns: 512
daemonize: true

启动命令:

bundle exec thin start -C ./config/thin.yml

#6 楼 @alvin2ye 不是 Rails app, 是一个 Rack App, 你是什么意思?

#7 楼 @lilijreey 你从哪看出来我的是 Rails

#8 楼 @alvin2ye 是 Sinatra 把,但是我不是啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号