使用 nginx 和 puma 进行 Rails 7 应用程序的服务器设置

问题描述 投票:0回答:1

我对服务器配置非常陌生。我在本地有一个 Rails 应用程序,并且可以访问亚马逊 EC2 服务器实例。我需要使用 nginx 作为 Web 服务器,使用 puma 作为应用程序服务器。有人可以向我详细解释(文件创建、目录、命令等)如何使该应用程序启动并运行以通过域进行公共访问吗?

我的 Rails 应用程序目录是:

$~ server/user/home/apps/myapp/shared/...
$~ server/user/home/apps/myapp/current/...

我尝试过卡皮斯特拉诺。但无论我遵循哪个教程,我总是会遇到

.../shared/tmp/sockets/puma.myapp.sock failed (2: No such file or directory) while connecting to upstream...
错误。

nginx webserver puma ruby-on-rails-7
1个回答
0
投票

以下是对我有用的步骤:

安装Nginx

  1. sudo apt install nginx
  2. sudo ufw app list
  3. sudo ufw allow 'Nginx HTTP'

设置服务器

  1. sudo nano /etc/nginx/sites-available/appname
    .
  2. 将以下模板复制到文件中,并将
    appname
    替换为您的应用程序的名称:
server {
    listen 80;

    root /home/apps/myapp/public;
    server_name appname.com www.appname.com;
    index index.htm index.html;

        location ~ /.well-known {
            allow all;
        }

        location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. sudo ln -s /etc/nginx/sites-available/repuestosgonnet /etc/nginx/sites-enabled/
  2. sudo nano /etc/nginx/nginx.conf
  3. 取消注释此行:
    server_names_hash_bucket_size 64;
  4. 可选:取消注释此行:
    server_tokens off;
  5. 测试语法:
    sudo nginx -t
  6. 重新启动 Nginx:
    sudo systemctl restart nginx

我希望这对你有用!

如果您有任何疑问,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.