当前位置: 首页 > news >正文

Django_Vue3_ElementUI_Release_004_使用nginx部署

1. nginx安装配置

1.1 下载nginx

Download nginx

1.2 测试一下

在这里插入图片描述

1.3 进入nginx用命令操作

在这里插入图片描述

2. 部署

2.1 前端部署

2.1.1 修改nginx监听配置

…conf/nginx.conf

http {... # 这里不进行修改server {listen 8010; # 监听 80 端口server_name 192.168.10.24; # 输入服务器 ip,我这里为内网 iplocation / {root html;index index.html index.htm; # 这里默认为此配置,表示当有人访问 服务器 80 端口的 / 根目录,那么 Nginx 将在 html 文件夹中寻找 index.html, index.htm 文件进行展示,也可以根据自己实际情况进行修改# 如果 vue 的路由模式是 history,一定要加上下面这句话try_files $uri $uri/ /index.html;}}
}

2.1.2 修改vue axios监听配置

和nginx的保持一致,因为之前是vue直接访问后端的,现在改成了nginx转发
在这里插入图片描述

2.1.3 修改完成后打包

npm run build
在这里插入图片描述

2.1.4 将dist文件夹中的内容拷贝到nginx的html目录中

在这里插入图片描述

2.1.5 浏览器访问测试在这里插入图片描述

以上前端配置好了,但是不能访问后端

2.2 后端部署

2.2.1 nginx需要如下配置

		location /api/ {add_header Access-Control-Allow-Origin *;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# Nginx 监听到请求 api后,将请求转发给 localhost的8000端口,# 因为 Django后端也要部署到这台服务器上,所以是 localhost,# 这样可以减少用户请求次数,加快网站访问速度。(我实测速度是有一定提升)proxy_pass http://127.0.0.1:8000;  }

以上配置文件中的ip地址和端口需要和django中保持一致
在这里插入图片描述

2.2.2 如果有静态文件,需要如下配置

		location /static/ {  # 这里为你的需要访问文件的访问路径,# 我的文件访问路径是 http://192.168.50.10/static/papers/XXX.pdf,# 我的文件存储在了 static/papers/XXX.pdf,并且一同复制到了 html 文件夹中。alias D:/Web/nginx-1.24.0/html/static/;  # 这里为服务器中 html 内,你的文件的存储路径。try_files $uri $uri/;}

2.2.3 settings.py中做如下配置

在这里插入图片描述

3. 测试

启动nginx并访问
在这里插入图片描述

4. 修复django admin

在 服务器的 Django 的 settings.py 中,新增以下配置

STATIC_ROOT = "D:/Web/nginx-1.24.0/html/static/static/" # 这里为你的服务器中 Nginx 的路径,应在 html 文件夹下的 static 文件夹,但是我的static 文件夹存了论文不为空,因此我在 static 文件夹中新建了文件夹 static

随后在终端中执行

python manage.py collectstatic  # 将 admin 样式复制到指定目录

将 html/static/static 文件夹的 admin 文件夹复制到 html/static 文件夹中。

随后在 Nginx 的 conf/nginx.conf 文件中进行如下配置。

location /api/ {... # 以上配置内容
}
location /admin/ {add_header Access-Control-Allow-Origin *;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8000;
}
location /static/admin/ {alias D:/Web/nginx-1.24.0/html/static/admin/;  # 这里为 admin文件夹所在位置try_files $uri $uri/;
}
location /static/ {... # 以上配置内容
}

以上内容参考

https://www.cnblogs.com/kyguo1997/p/17884479.html

http://www.lryc.cn/news/440432.html

相关文章:

  • Java抽象类的案例
  • 运维工程师面试整理-数据库
  • comfyui一键抠图工作流:让你告别PS!
  • 【Hot100】LeetCode—4. 寻找两个正序数组的中位数
  • 【LLM text2sql】浅看大模型用于text2sql的综述
  • Node js介绍
  • 企业编辑抖音百科词条有什么用?
  • 数据结构-链式二叉树-四种遍历
  • 【YashanDB知识库】数据库获取时间和服务器时间不一致
  • 十大排序之:冒泡排序
  • 【MPC】无人机模型预测控制复现Data-Driven MPC for Quadrotors项目(Part 1)
  • 微信小程序开发——比较两个数字大小
  • Java多线程3
  • node+Vue项目环境创建
  • 云智AI人工智能平台——与众不同之处
  • 国庆节有什么好物值得入手?精选国庆节必选好物合集
  • 并发安全与锁
  • 细胞分裂检测系统源码分享
  • openssl 生成多域名 多IP 的数字证书
  • 电影评论|基于springBoot的电影评论网站设计与实现(附项目源码+论文+数据库)
  • 【C++】虚函数
  • esxi虚拟机启用cbt备份(增量备份)
  • mysql 8.0 时间维度表生成(可运行)
  • 打造高效实时数仓,从Hive到OceanBase的经验分享
  • 15.3 JDBC数据库编程
  • SSH公私钥后门从入门到应急响应
  • 服务器数据恢复—Linux操作系统环境下网站数据的恢复案例
  • 开放式耳机是怎么样的?开放式耳机的优缺点分析?
  • HDMI色块移动——FPGA学习笔记13
  • MySQL中去除重复