Deployment 如何使用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

如何使用nginx或apache部署puma,这是可能的还是不需要使用nginx或apache这样的web服务器。使用puma部署应用程序的最佳方式是什么?

由于puma不是为用户直接访问而设计的,我们将使用Nginx作为反向代理,以缓冲用户和Rails应用程序之间的请求和响应。Puma除了工作进程之外,还使用线程来更多地利用可用的CPU。Nginx和puma之间的通信通过插座进行:

源图像:


如果您需要解释如何使用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有很多有趣的地方,特别是如果你想制作实时应用程序的话