Skip to content

Instantly share code, notes, and snippets.

@s2t2
Forked from ctalkington/Gemfile
Created March 7, 2018 23:12
Show Gist options
  • Save s2t2/ba336ff5ca7a2cbfdf4ac18d2f627425 to your computer and use it in GitHub Desktop.
Save s2t2/ba336ff5ca7a2cbfdf4ac18d2f627425 to your computer and use it in GitHub Desktop.
Nginx, Sinatra, and Puma.
#!/usr/bin/env ruby
require 'sinatra'
configure {
set :server, :puma
}
class Pumatra < Sinatra::Base
get '/' do
return 'It works!'
end
run! if app_file == $0
end
bundle install --path vendor/bundle
mkdir -p tmp/puma
bundle exec puma --config config/puma.rb
#!/usr/bin/env ruby
require './app'
run Pumatra
source :rubygems
gem "puma"
gem "sinatra"
upstream app {
server unix:///appdir/tmp/puma/socket;
}
server {
listen 80;
server_name app.com;
root /appdir/public;
access_log /appdir/log/nginx.access.log;
error_log /appdir/log/nginx.error.log info;
location / {
try_files $uri @puma;
}
location @puma {
include proxy_params;
proxy_pass http://app;
}
}
root = "#{Dir.getwd}"
bind "unix://#{root}/tmp/puma/socket"
pidfile "#{root}/tmp/puma/pid"
state_path "#{root}/tmp/puma/state"
rackup "#{root}/config.ru"
threads 4, 8
activate_control_app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment