我需要一些帮助在数字海洋的Ubuntu服务器上设置Nginx与Puma和Rails(已经花了很多时间在这上面)。
我有以下设置:
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
upstream app {
server unix:/home/deploy/www/test_server/tmp/sockets/puma.sock fail_timeout=0;
}
server {
listen 80;
server_name testserver.com.br www.testserver.com.br; # fake url
root /home/deploy/www/test_server/public;
try_files $uri/index.html $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;
}
我可以看到很多请求(来自我的本地机器,来自D.O的服务器以及许多其他我不认识的IP)。
当我尝试从当地办公桌访问www.testserver.com/index
时
2018/06/02 12:21:25 [error] 27541#27541: *6 open() "/usr/share/nginx/html/index" failed (2: No such file or directory), client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /index HTTP/1.1", host: "www.testserver.com.br"
Firewall is open to Nginx HTTP/HTTP (v6)
lrwxrwxrwx 1 root root 39 Jun 1 16:25 /etc/nginx/sites-enabled/test_server -> /etc/nginx/sites-available/test_server
“欢迎使用nginx!如果您看到此页面,则nginx Web服务器已成功安装并正常运行......”
我相信Nginx无法与Puma正确连接并找到合适的文件。从error.log我可以看到Nginx试图访问文件夹 / usr / share / nginx / html / 时它应该尝试连接到套接字,对吧?也许许可是问题? (我在SO上发现了许多有权限问题的帖子)。
我不知道还能尝试什么。
任何其他信息只是问。 提前谢谢!
当我删除nginx.conf文件(非故意)并从git rep。复制时,新文件缺少include /etc/nginx/conf.d/*.conf;
和include /etc/nginx/sites-enabled/*;
行。在Http部分中添加这些行之后,Nginx开始提供正确的服务。