用uwsgi和nginx 部署 django和vue打造的前后端分离项目

本文详细记录了使用uwsgi和nginx在ubuntu16.04上部署django 3.0.6项目和vue前端的过程。内容包括:设置DEBUG和ALLOWED_HOSTS,安装uwsgi,收集Django静态资源,配置uwsgi.ini,启动uwsgi服务,nginx部署vue项目,前端接口转发配置,以及项目测试和验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用uwsgi和nginx 部署 django和vue打造的前后端分离项目

前言

由于现在没有彻底掌握nginx的使用,部署起来有点磕磕绊绊,为了防止以后再次需要部署的时候无法快速找到适合的资料,以此文章记录简单的部署步骤。

项目部署环境

  1. ubuntu16.04
  2. python3.6.8
  3. django 3.0.6

部署步骤

  1. uwsgi部署django项目。
  2. nginx部署vue项目。
  3. 配置nginx解决vue前端接口转发。

步骤1

uwsgi部署django项目。

1.更改django的settings.py文件

  • DEBUG=True改为DEBUG=False
  • ALLOWED_HOSTS = ["*"]
    ALLOWED_HOSTS是为了限定请求中的host值,以防止黑客构造包来发送请求。只有在列表中的host才能访问。强烈建议不要使用*通配符去配置,另外当DEBUG设置为False的时候必须配置这个配置。否则会抛出异常。这里暂时以 * 设置,等正式发布之后改成对应的域名。

2.安装uwsgi

pip3 install uwsgi

3.收集静态资源

在django的settings.py中增加如下:

# 静态资源访问的起始url
STATIC_URL = '/static/'
# 指定静态资源所在的目录 
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static') 
 ]
# 设置收集静态资源的路径(部署时使用)
STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static/')

然后在项目根目录下(manage.py同级)运行如下命令:

python manage.py collectstatic

4.准备uwsgi的配置文件

假设我项目中的wsgi.py文件的路径如下。

  /home/tk/Project/test_LP100/ThinkCloud/wsgi.py

在项目根目录下创建一个文件 uwsgi.ini并配置uwsgi.ini文件如下:

[uwsgi]
# 监听的端口
http=0.0.0.0:8080

# chdir配置项目的根目录
chdir=/home/tk/Project/test_LP100/ThinkCloud

# 主应用中
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值