css - 如何让 NGINX 提供 .js、.css、.html 等静态内容?

标签 css windows tomcat nginx jboss

最近我开始使用 NGINX,我发现我们可以将它用于反向代理,从自身提供静态内容,从而减少加载时间。我在我的本地机器上有一个 Tomcat/JBoss 服务器,我想把 NGINX 放在它前面,这样静态内容将从 NGINX 提供,剩下的全部由 Tomcat/JBoss 提供。我的 Tomcat/JBoss 应用程序正在 http://localhost:8081/Test 上运行,我的 NGINX 配置工作正常,但它无法加载 css/js/jpg 文件。这是我的 war 结构,静态内容是

测试战

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(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/;
        }

最佳答案

您可以使用正则表达式添加位置:

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/;
    }
}

关于css - 如何让 NGINX 提供 .js、.css、.html 等静态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23776660/

相关文章:

html - 单选按钮 - 对齐背景图像和文本

javascript - 根据姓氏的字母顺序自动对卡片进行排序

javascript - 尝试向字符串添加值,并且每次都会不断添加 1

java - 在 Java 中以用户身份登录

java - AWS EC2 Tomcat Java Webapp - 我如何管理 bot http session

mysql - 如何在我自己的 Tomcat 服务器上部署 broadleaf demo?

html - 尽管缺少文本,但仍强制垂直对齐?

c# - 捕获 .NET Core 中正常关闭的关闭命令

windows - 保存和恢复应用程序窗口状态

javascript - 全局安装的 NodeJS npm 模块不会使用 Node 执行 main/bin JavaScript 文件