为什么我启动了django项目和nginx 但是直接访问公网ip显示的是Django的页面而不是我的前端vue页面啊 在公网➕端口8000 也仍然是这个页面 不懂咋回事啊
根据问题描述,可以推断出访问公网IP时,会默认访问Django页面而非前端vue页面,说明nginx反向代理配置有问题。解决方法如下:
确认nginx是否正确启动,可以通过sudo systemctl status nginx
命令来查看nginx状态,如果状态为active(running),那么nginx已经成功启动。
确认nginx的配置文件中是否正确配置了反向代理。为了快速排查问题,可以先将反向代理配置放到nginx的/etc/nginx/nginx.conf
文件中,然后重启nginx。
``` # 配置服务器 server { # 监听的端口号 listen 80; # 域名 server_name yourdomain.com; #替换为你的域名
# 静态文件访问的url
location /static {
# 静态文件地址 ,有就放到这里
}
# 最后,发送所有非静态文件请求到vue前端
location / {
proxy_pass http://127.0.0.1:8080; #替换为你的vue前端服务地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
确认vue前端服务是否成功启动,可以通过npm run serve
启动vue前端服务,然后访问http://localhost:8080/
来确认vue前端服务是否成功启动。
如果以上操作都没有解决问题,可以尝试检查防火墙是否有开启,需要开放80和8080端口。
如果以上操作都没有解决问题,可以尝试使用线上工具或通过日志来进一步排查问题。