Deployment 如何使用nginx部署puma
如何使用nginx或apache部署puma,这是可能的还是不需要使用nginx或apache这样的web服务器。使用puma部署应用程序的最佳方式是什么?由于puma不是为用户直接访问而设计的,我们将使用Nginx作为反向代理,以缓冲用户和Rails应用程序之间的请求和响应。Puma除了工作进程之外,还使用线程来更多地利用可用的CPU。Nginx和puma之间的通信通过插座进行: 源图像:Deployment 如何使用nginx部署puma,deployment,puma,Deployment,Puma,如何使用nginx或apache部署puma,这是可能的还是不需要使用nginx或apache这样的web服务器。使用puma部署应用程序的最佳方式是什么?由于puma不是为用户直接访问而设计的,我们将使用Nginx作为反向代理,以缓冲用户和Rails应用程序之间的请求和响应。Puma除了工作进程之外,还使用线程来更多地利用可用的CPU。Nginx和puma之间的通信通过插座进行: 源图像: 如果您需要解释如何使用Puma和Nginx部署应用程序,请检查,关键在于站点的Nginx配置 serv
如果您需要解释如何使用Puma和Nginx部署应用程序,请检查,关键在于站点的Nginx配置
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\u passhttp://localhost:4000;代码>行告诉nginx在端口4000侦听localhost,您可以根据需要进行更改
这是使用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";
}
}
您是否在询问如何在nginx配置中将puma声明为上游?您打算如何使用nginx?用于缓存?对于负载平衡?这里是详细的分步指南:您为什么要使用Puma而不是?Phusion Passenger使部署更加简单,配置更少。您只需配置Apache或Nginx,而不需要配置任何其他组件,就可以在几分钟内启动并运行这些程序。Phusion Passenger非常成熟、稳定且性能优异,被《纽约时报》、赛门铁克、AirBnB等公司使用。是的,我使用Passenger,但PUMA有很多有趣的地方,特别是如果你想制作实时应用程序的话