如何使用 nginx 或 apache 部署 puma?是否有必要使用像 nginx 或 apache 这样的 Web 服务器?使用 puma 部署一个应用程序,最好的方法是什么?
如何使用 nginx 或 apache 部署 puma?是否有必要使用像 nginx 或 apache 这样的 Web 服务器?使用 puma 部署一个应用程序,最好的方法是什么?
server {
listen 80;
server_name mysite.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:4000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
正如您所看到的proxy_pass http://localhost:4000;
行告诉nginx在本地主机的4000端口上监听,您可以根据需要更改。
这是一个小的更改,以便与ssl letsencrypt一起使用,当然您应该使用letsencrypt配置ssl。
server {
listen 80;
server_name example.com;
location / {
return 301 https://example.com$request_uri;
}
}
server {
listen 443 ssl http2;
server_name example.com;
#listen [::]:443 ssl http2 ipv6only=on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
include /etc/nginx/snippets/ssl.conf;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:4000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
如果您需要关于如何使用Puma和Nginx部署应用程序的解释,请查看this。