我对服务器配置非常陌生。我在本地有一个 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...
错误。
以下是对我有用的步骤:
sudo apt install nginx
sudo ufw app list
sudo ufw allow 'Nginx HTTP'
sudo nano /etc/nginx/sites-available/appname
.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;
}
}
sudo ln -s /etc/nginx/sites-available/repuestosgonnet /etc/nginx/sites-enabled/
sudo nano /etc/nginx/nginx.conf
server_names_hash_bucket_size 64;
server_tokens off;
sudo nginx -t
sudo systemctl restart nginx
我希望这对你有用!
如果您有任何疑问,请告诉我。