如何使用 Nginx 运行 Sinatra App in Passenger?
How to run Sinatra App in Passenger with Nginx?
我正在尝试使用我现有的 Nginx 和 Passenger 设置 运行 一个非常简单的 Sinatra 应用程序。我熟悉 Passenger 上的 运行ning Rails,但这是我第一次设置 Sinatra。
我已经通过捆绑器和 RVM 安装了 Sinatra。看看我的配置,告诉我哪里做错了。
Nginx 配置文件:
server {
listen 80;
server_name demo.my-example.com;
root /home/user/demo.my-example.com/sinatra;
passenger_ruby /usr/local/rvm/wrappers/ruby-2.3.1@my_gemset/ruby;
passenger_enabled on;
}
/home/user/demo.my-example.com/sinatra/config.ru
require 'rubygems'
Gem.clear_paths
disable :run, :reload
set :environment, :production
require "./stripe"
run StripeApp
/home/user/demo.my-example.com/sinatra/stripe.rb
require 'sinatra/base'
class StripeApp < Sinatra::Base
get '/' do
"Hello world"
end
end
/home/user/demo.my-example.com/sinatra/config.ru
require 'rubygems'
Gem.clear_paths
require "./stripe"
run StripeApp
我正在尝试使用我现有的 Nginx 和 Passenger 设置 运行 一个非常简单的 Sinatra 应用程序。我熟悉 Passenger 上的 运行ning Rails,但这是我第一次设置 Sinatra。
我已经通过捆绑器和 RVM 安装了 Sinatra。看看我的配置,告诉我哪里做错了。
Nginx 配置文件:
server {
listen 80;
server_name demo.my-example.com;
root /home/user/demo.my-example.com/sinatra;
passenger_ruby /usr/local/rvm/wrappers/ruby-2.3.1@my_gemset/ruby;
passenger_enabled on;
}
/home/user/demo.my-example.com/sinatra/config.ru
require 'rubygems'
Gem.clear_paths
disable :run, :reload
set :environment, :production
require "./stripe"
run StripeApp
/home/user/demo.my-example.com/sinatra/stripe.rb
require 'sinatra/base'
class StripeApp < Sinatra::Base
get '/' do
"Hello world"
end
end
/home/user/demo.my-example.com/sinatra/config.ru
require 'rubygems'
Gem.clear_paths
require "./stripe"
run StripeApp