关于Django 部署(uwsgi)的记录

本文详细记录了如何在Django项目中配置和使用uwsgi进行部署,包括虚拟环境的创建、静态文件的处理以及uwsgi的配置文件设置。通过收集静态文件和配置url,确保在服务器上正确运行项目。同时,介绍了uwsgi的启动和停止命令,以及在settings中允许所有主机访问的设置。
摘要由CSDN通过智能技术生成

关于Django 部署(uwsgi)的记录

虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
mkdir ~/.virtualenvs

然后

#打开文件
vi ~/.bashrc
#在文件内容末尾添加如下内容:
export WORKON_HOME=$HOME/.virtualenvs  # 所有虚拟环境存储的目录
source /usr/local/bin/virtualenvwrapper.sh
#让其生效
source ~/.bashrc

如果在你创建虚拟环境 mkvirtualenv 虚拟环境名字 -p python版本 创建虚拟环境的时候报错 /usr/bin/python: No module named virtualenvwrapper 这是因为服务器环境或者电脑有多个python版本,可能python 版本是 指向python2的,我们还需要 vi ~/.bashrc

export WORKON_HOME=$HOME/.virtualenvs  # 所有虚拟环境存储的目录
source /usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3  # 报以上错是加上这一行

最后别忘了 source ~/.bashrc

静态文件问题

在django 中 我们自己调试程序 一般都是 python manage.py runserver ip:port,静态文件设置在settings中

STATIC_URL = '/static/'  # 这是设置访问静态文件的 url 前缀
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_files'), # 这个static_files才是装静态文件的文件夹
]

但如果我们需要我们的代码在服务器上跑,就需要用到uwsgi 进行布置, 这样的话就不能访问静态文件了,需要我们收集静态文件,需要经过如下步骤
1 在settings中添加静态文件收集目录

STATIC_ROOT = os.path.join(BASE_DIR, "static") # 静态文件都会被收集到 static 这个文件夹

2 运行 python manage.py collectstatic收集静态文件到 STATIC_ROOT目录中
3. 在url 中添加访问收集静态路由路径

from django.conf import settings
from django.conf.urls import url,re_path
re_path(r'static/(?P<path>.*)', static.serve,
          {'document_root': settings.STATIC_ROOT}, name='static'),
配置uwsgi
  1. pip install uwsgi
  2. 创建 uwsgi.ini 文件,这里我是创建在和 manage.py 同一路径
    复制以下内容到 uwsgi.ini文件中
[uwsgi]
#使用nginx连接时使用,Django程序所在服务器地址
;socket=x.x.x.x:8000
#直接做web服务器使用,Django程序所在服务器地址
http=0.0.0.0:9999
#项目目录
chdir=/home/python/Desktop/jiang-search/JiangSearch
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=JiangSearch/wsgi.py
# 进程数
processes=4
# 线程数
threads=2
# uwsgi服务器的角色
master=True
# 存放进程编号的文件
pidfile=uwsgi.pid
# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/home/python/.virtualenvs/jiangsearch

接下来 启动 uwsgi 就可以访问服务器了

uwsgi --ini uwsgi.ini # 启动
uwsgi --stop uwsgi.pid # 关闭

如果想让其他人都访问到 别忘了 settings 中 ALLOWED_HOSTS = ["*"]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值