django+vue前后端分离项目部署阿里云问题

为什么我启动了django项目和nginx 但是直接访问公网ip显示的是Django的页面而不是我的前端vue页面啊 在公网➕端口8000 也仍然是这个页面 不懂咋回事啊

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 文章:服务器部署 Nginx + Django + Vue 中也许有你想要的答案,请看下吧
  • 以下回答来自chatgpt:

    根据问题描述,可以推断出访问公网IP时,会默认访问Django页面而非前端vue页面,说明nginx反向代理配置有问题。解决方法如下:

    1. 确认nginx是否正确启动,可以通过sudo systemctl status nginx命令来查看nginx状态,如果状态为active(running),那么nginx已经成功启动。

    2. 确认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;
           }
    
       }
    

    ```

    1. 确认vue前端服务是否成功启动,可以通过npm run serve启动vue前端服务,然后访问http://localhost:8080/来确认vue前端服务是否成功启动。

    2. 如果以上操作都没有解决问题,可以尝试检查防火墙是否有开启,需要开放80和8080端口。

    如果以上操作都没有解决问题,可以尝试使用线上工具或通过日志来进一步排查问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^