Last active
October 26, 2024 04:10
-
-
Save ctalkington/4448153 to your computer and use it in GitHub Desktop.
Nginx, Sinatra, and Puma.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bundle install --path vendor/bundle | |
mkdir -p tmp/puma | |
bundle exec puma --config config/puma.rb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require './app' | |
run Pumatra |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source :rubygems | |
gem "puma" | |
gem "sinatra" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
@ctalkington Thanks!
@mikeyhill the original works for me.
@mikeyhill, you should be use a simular name in 'upstream' and in 'proxy_pass'
for example:
upstream your_app_name {
server unix:///appdir/tmp/puma/socket;
}
......
location @puma {
include proxy_params;
proxy_pass http://your_app_name;
}
If you are getting an error at the line include proxy_params;
you may want to see this.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
not to anyone that references this:
upstream app {
server unix:///appdir/tmp/puma/socket;
}
should be:
upstream puma {
server unix:///appdir/tmp/puma/socket;
}