如何解决 nginx 找不到的 puma?

how to resolve puma not find by nginx?

我目前在 Rails 应用程序上安装 Ruby 时遇到问题。

当我启动应用程序并转到服务器地址时,我进入了 Nginx 启动页面,而我的应用程序正在运行并且我已经为此设置了 Puma 和 Nginx。

我多次更改我的应用程序的可用站点配置以及 puma.rb,但没有结果。

我已经使用命令生成了启用站点的文件。

我不明白为什么它不起作用,因为在我的 thin 应用程序上它可以工作

Puma.rb

threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
threads threads_count, threads_count

port        ENV.fetch("PORT") { 3001 }

environment ENV.fetch("RAILS_ENV") { "production" }

bind  "unix:///home/ubuntu/happer-api2/tmp/puma/sockets/puma.sock"

plugin :tmp_restart

sites-available/happer-api

upstream app {
server unix:///home/ubuntu/happer-api2/tmp/puma/sockets/puma.sock;
}

server {
 listen 80;
 server_name localhost;
 root /home/ubuntu/happer-api2/public;

 try_files $uri/index.html $uri @app;

 location / {
     proxy_pass http://app;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Host $http_host;
     proxy_redirect off;
 }

 error_page 500 502 503 504 /500.html;
 client_max_body_size 4G;
 keepalive_timeout 10;
}

记录标准输出 puma

=== puma startup: 2019-06-05 11:08:03 +0000 ===
[14768] * Starting control server on unix:///tmp/puma-status-1559732883521-14768
[14768] - Worker 0 (pid: 14810) booted, phase: 0

记录 stderr puma

=== puma startup: 2019-06-04 11:01:28 +0000 ===
=== puma startup: 2019-06-04 11:01:51 +0000 ===
=== puma startup: 2019-06-05 11:08:03 +0000 ===

我不确定这是否有帮助,但我的配置有点不同,将其更改为:

upstream app {
  server unix:///home/ubuntu/happer-api2/tmp/puma/sockets/puma.sock;
}

server {
 listen 80;
 server_name localhost;
 root /home/ubuntu/happer-api2/public;

 location / {
     try_files $uri @app;
 }

 location @app {
     proxy_pass http://app;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Host $http_host;
     proxy_redirect off;
 }

 error_page 500 502 503 504 /500.html;
 client_max_body_size 4G;
 keepalive_timeout 10;
}