我正在尝试使用Unix sockets配置Nginx + Rails + Puma,但是我无法提供我的资产。 我有以下配置,如果有人能指出缺少什么,我将不胜感激。 我的Nginx配置如下:
upstream my_app {
server unix:///var/run/my_app.sock;
}
server {
listen 8080;
server_name _;
root /var/www/plantmonitorweb/public; # app location
location / {
proxy_pass http://my_app;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# this one is from Rails guides
location ~ ^/assets/ {
expires 1y;
add_header Cache-Control public;
add_header ETag "";
}
}
在 production.rb 中
config.public_file_server.enabled = false
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
puma.rb没有改变。我正在使用以下命令运行puma服务器:
puma -e production -b unix:///var/run/my_app.sock
我在远程机器上运行这些代码(具体来说是在Raspberry Pi上),Puma运行得很好,似乎nginx也连接到了我的服务器,但当我打开Chrome浏览器控制台时,看到以下信息。
GET http://192.168.1.35:8080/pack/app.js
我检查了public/pack目录下的文件,它确实存在。
我的Nginx配置文件位于/etc/nginx/conf.d/,该目录在Nginx.conf中被包含(include /etc/nginx/conf.d/*.conf)。