一尘不染

如何使NGINX提供.js,.css,.html等静态内容?

tomcat

最近,我开始使用NGINX,我发现我们可以将其用于反向代理,从自身提供静态内容可以减少加载时间。我的本地计算机上有一个Tomcat /
JBoss服务器,我想将NGINX放在它的前面,以便可以从NGINX提供静态内容,并由Tomcat / JBoss保留所有内容。我的Tomcat /
JBoss应用程序在http://localhost:8081/Test我的NGINX配置上运行正常,但无法加载css/js/jpg文件。这是我的战争组织,这里的静态内容是

试战

TEST
  |
  |--->Resources
  |       |------->CSS
  |       |         |----> style.css
  |       |
  |       |-------->Images
  |                  |----> a.jpg
  |                  |----> b.jpg
  |   
  |--->WEB-INF
  |        |----->Web.xml
  |        |----->spring-servlet.xml
  |
  |--->JSP
         |---->login.jsp

我认为问题是由于绝对路径所致,所以我应该复制资源文件夹并将其放在NGINX的某个文件夹中,并配置NGINX以从其自己的目录中选择文件,而不是转到Tomcat
/ JBoss吗?我是新来的,所以我不知道要这样做,任何人都可以在这方面帮助我。这是我的NGINX的conf文件(Windows)

server {
        listen 80;
        server_name localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
             proxy_pass http://127.0.0.1:8081/Test/;
        }

阅读 552

收藏
2020-06-16

共1个答案

一尘不染

您可以使用regexp 添加 位置

server {
    listen 80;
    server_name localhost;

    location ~* \.(js|jpg|png|css)$ {
        root path/to/tomcat/document/root/Test/;
        expires 30d;
    }

    location / {
        proxy_pass http://127.0.0.1:8081/Test/;
    }
}
2020-06-16