写的Java项目放在虚拟机绑定的域名根下静态资源全部404

问答中心分类: JAVA写的Java项目放在虚拟机绑定的域名根下静态资源全部404
andy asked 8 年 ago
本地启动tomcat——》localhost:8080/项目名/页面,完全正常。不存在静态资源,css/js无法加载问题。把tomcat下webapps下——》项目/ WEB-INF  上传 服务器添加的虚拟机绑定域名根目录下了,即:(/data/wwwroot/我自己绑定域名/WEB-INF),这样启动tomcat后,浏览器访问域名,发现静态资源全部404了,不加载,后台确实请求成功200状态,不知道为何,弄了一天没整明白

6 Answers
oneinstack answered 8 年 ago
默认lnmt做了动静分离 ,nginx处理静态,nginx访问不到静态文件

andy answered 8 年 ago
我需要怎么修改才能访问到静态文件呢,静态文件都在web-inf下面的js文件夹,miage文件夹,css文件夹?内呢,

andy answered 8 年 ago
目前项目运行正常了,静态资源已经全部加载,nginx配置如下

server {
listen 80;
server_name www.xxx.com;
access_log /data/wwwlogs/www.xxx.com_nginx.log combined;
index index.html index.htm index.jsp;
root /data/wwwroot/www.xxx.com/WEB-INF;


location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
root /data/wwwroot/www.xxx.com/WEB-INF;
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
root /data/wwwroot/www.xxx.com/WEB-INF;
expires 7d;
access_log off;
}
location ~ {
proxy_pass http://127.0.0.1:8080;
include proxy.conf;
}
}

 

myvery answered 8 年 ago
我也遇到了同样的问题,一直是404 大神怎么弄的
 

Sxxjava answered 8 年 ago
我也遇到相同的问题,请问您解决了吗?

oneinstack answered 8 年 ago
是不是java代码对静态资源作了重定向?
可修改nginx配置文件/usr/local/nginx/conf/vhost/绑定域名.conf
注销下面行:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}