PlayFramework静态文件的nginx配置

Gre*_*g R 6 scala nginx playframework playframework-2.0

我想将Nginx用于我的Play的服务器/资源文件夹!应用.我想要:

  • 代理大部分文件播放!
  • 将资源指向本地文件夹

我使用以下配置,但它不起作用:

worker_processes  1;

error_log  logs/error.log;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    upstream play_app {
        server 0.0.0.0:9000;
    }

    server {
        listen       80;

        location / {
            proxy_pass http://play_app;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,如果我这样工作,我可以通过播放写入Nginx/assets文件夹Play.getFile("/assets/images")吗?

Bil*_*oes 6

假设播放应用程序与Nginx在同一台机器上运行 - 并且正在侦听端口9000

upstream play_app  {
  server 127.0.0.1:9000;
}

server {
  listen 80;
  location / {
     proxy_pass  http://play_app;
  }
}
Run Code Online (Sandbox Code Playgroud)

这将通过nginx将来自端口80的所有请求路由到端口9000上同一台机器上的播放应用程序.

如果您希望NGinx服务于您的本地资产 - 在catch all规则之前添加第二个位置.

server {
  listen 80;
  location /assets {
    root /var/www;
  }
  location / {
     proxy_pass  http://play_app;
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 所以这很有用:重写^/assets(.*)/ $ 1 break; (2认同)