解决nginx部署后css、js、图片等样式不加载的问题

这里有2种方案可以解决,这里只介绍第一种,第二种我也没试过,但是觉得应该可行

1、修改nginx的conf配置文件

2、更改web服务器contextPath为ip+端口的方式,举例:HttpServletRequest.getContextPath();

使用nginx的反向代理后,发现页面能正常跳转,可是css、js和相关的图片就是不出来,如下图

查看了a标签内的链接发现,contextPath竟然用的是nginx的负载均衡服务器的列表名称

然我将配置文改成以下的内容后成功解决了问题

user nobody;
worker_processes 4;
events{
        worker_connections 1024;
}
http{
        upstream xd-project{
                server 47.52.68.xx:8080;
                server 45.40.205.xx;
        }
        server{
                listen 80;
                location / {
                        proxy_pass http://xd-project;

                }

                location ~ .* {
                        proxy_pass http://xd-project;
                        proxy_set_header Host $http_host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }
}

不知道是什么原理,这是我们公司的架构师告诉我的,大家有空可以深究下,告诉我原理

然后试了一下,一切正常

解决Nginx部署Vue项目中CSS样式不生效的问题,首先需要确定问题的原因。以下是可能的原因和解决方法: 1. 检查CSS文件路径:确保CSS文件的路径是正确的。在Vue项目中,CSS文件通常位于src/assets/css/目录下。检查Nginx配置文件中的root选项是否正确指向了Vue项目的dist目录。 2. 检查Nginx配置文件:检查Nginx配置文件中是否正确设置了静态资源的访问路径。可以通过在Nginx配置文件中添加以下配置来确保正确处理CSS文件: ``` location /static { alias /path/to/your/vue/project/dist/static; } ``` 3. 检查Vue配置文件:检查Vue项目中的vue.config.js文件是否正确配置了publicPath选项。确保publicPath的值是正确的,例如: ``` module.exports = { publicPath: '/' } ``` 4. 检查缓存:如果在开发过程中修改了CSS文件并重新构建了Vue项目,但在部署后仍然看不到样式改变,可能是因为浏览器缓存了旧的CSS文件。尝试在浏览器中使用Ctrl + Shift + R强制刷新页面,并清除浏览器缓存。 5. 检查CSS文件内容:确定CSS文件中的样式是否正确。可以在浏览器的开发者工具中查看CSS文件是否成功加载,并检查其中的样式是否正确。 如果以上方法都无法解决问题,可以尝试在Nginx日志中查看是否有相关错误信息,并检查控制台是否有报错信息。如果问题仍然存在,可以尝试搜索相关的解决方案或在Vue论坛寻求帮助。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java叶新东老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值