我安装了Sinatra并且它可以工作,但它默认使用端口4567.我希望它在端口80上运行.
为了让它在端口80上工作,我尝试了这个:
require 'rubygems'
require 'rack/handler/webrick'
require 'sinatra'
Sinatra::Application.default_options.merge!(
:run => false,
:env => :production,
:port => 80
)
get '/' do
"Hello World"
end
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
$ ruby -rubygems index.rb
index.rb:5:in `<main>': undefined method `default_options' for Sinatra::Application:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
知道发生了什么事吗?
mik*_*iku 31
你不能只使用(http://www.sinatrarb.com/configuration.html):
set :port, 80
Run Code Online (Sandbox Code Playgroud)
请注意,为了将套接字绑定到端口80,您需要具有超级用户权限.
顺便说一下,
使用Sinatra.default_options设置基本配置项已过时
来自:http://www.sinatrarb.com/one-oh-faq
ch4*_*d4n 16
接受答案的另一种方式
rvmsudo rackup -p 80
Run Code Online (Sandbox Code Playgroud)
如果一个人使用RVM来管理Ruby版本,你可能无法轻易使用sudo(或者需要在路径中设置ruby).
| 归档时间: |
|
| 查看次数: |
25663 次 |
| 最近记录: |