要闻:Centos环境部署django项目的全过程(永久复用)
目录
一:基础环境介绍:二:部署环境安装配置:1.基础依赖环境安装2.安装wegt,vim,unzip等必须命令3.安装python与pip(或者python多版本管理工具pyenv等)4.安装nginx5.安装uwsgi三:部署django项目:1.上传项目并安装项目模块并启动测试2.在项目里配置uwsgi.ini配置文件3.配置nginx四:备注总结一:基础环境介绍:
Centos:7.8(cat /etc/redhat-release查看版本号)
Python:3.9.5(python -V查看版本号)
Django:2.2.6(django-admin --version查看版本号)
(资料图)
Uwsgi:2.0.20(uwsgi --version查看版本号)
Nginx:1.20.1 (nginx -v查看版本号)
二:部署环境安装配置:
1.基础依赖环境安装
yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
2.安装wegt,vim,unzip等必须命令
yum -y install wget vim unzip
3.安装python与pip(或者python多版本管理工具pyenv等)
## 1.下载自己需要版本的python版本包 wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz ## 2.新建python3目录 mkdir /usr/local/python3 ## 3.安装Python3压缩包,进入解压目录,指定安装目录,安装Python3 tar -xvf Python-3.9.5.tar.xz cd Python-3.9.5 ./configure --prefix=/usr/local/python3 make && make install ## 4.安装Python3时,会自动安装pip,如果没有就手动安装 yum -y install python-pip ## 5.pip配置(更换pip的源) (1)找到pip.conf并编辑 [root@devops ~]# cd ~ [root@devops ~]# mkdir .pip [root@devops ~]# vim pip.conf [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com :wq!保存退出即可 (2) 安装依赖安装好pip [root@devops ~]# yum -y install epel-release [root@devops ~]# yum install python-pip [root@devops ~]# pip install --upgrade pip ## 6.升级下pip pip install --upgrade pip ## 7.创建软链接 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 ## 输入python3测试是否安装成功 python -V
4.安装nginx
## 1.yum方式安装nginx yum -y install nginx ## 2.查看nginx版本 nginx -v ## 3.启动nginx systemctl status nginx ## 查看nginx状态 systemctl start nginx ## 开启nginx服务 systemctl stp nginx ## 关闭nginx服务
5.安装uwsgi
## 1.安装uwsgi pip3 install uwsgi ## 2.建立软链接 ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi ## 3.查看uwsgi版本 uwsgi --version
三:部署django项目:
1.上传项目并安装项目模块并启动测试
## 1.上传文件到服务器 ## 2.解压项目 unzaip devops.zip ## 3.pip安装项目依赖模块 pip3 install -r requirements.txt ## 4.通过python3 manage.py runserver运行一下项目,如果能正常启动则进行下一步,不能正常运行往上检查。 这里需要注意使用python3来执行manage.py,否则会出现报错情况!
2.在项目里配置uwsgi.ini配置文件
(1)在settings.py所在目录vim新文件 项目名称.ini
(2)配置 项目名称.ini文件
[uwsgi] master=true chdir=/data(服务器实际目录)/项目名称 module=项目名称.wsgi py-autoreload=1 lazy-apps=true socket=127.0.0.1:8000 processes=4 buffer-size=32768 daemonize=uwsgi.log log-maxsize = 5000000 vacuum = true disable-logging = true
(3)检查settings.py配置并收集项目静态文件
一般都是这个配置:
settings.py配置:
STATIC_URL = "/static/" STATIC_ROOT = os.path.join(BASE_DIR, "/static/") STATICFILES_DIRS = [ os.path.join(BASE_DIR, "../bitmain_cmdb/static"), ## 实际静态文件所在项目路径,亲测好使 ]
url.py配置:
from django.conf.urls import * from django.contrib import admin from django.conf.urls import url,include from django.conf.urls.static import static from django.conf import settings urlpatterns = [ url(r"^cmdb_admin/", admin.site.urls), ] + static(settings.STATIC_URL,document_root = settings.STATIC_ROOT)
执行收集静态文件命令:
python manage.py collectstatic
(4)启动测试,并查看日志
## 在当前目录启动 uwsgi -i 项目名称.ini ## 启动之后查看进程 ps -ef | grep uwsgi
启动:uwsgi -i 项目名称.ini
查看进程
查看日志,服务启动正常
3.配置nginx
vim /etc/nginx/nginx.conf
nginx.conf配置
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; charset utf-8; location /static { alias /项目所在目录/static/; } location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; } } }
(4)启动nginx
## 1.配置完nginx.conf,执行 nginx -t /etc/nginx.conf 启用nginx配置文件 ## 2.软加载nginx nginx -s reload
(5)访问django项目http://服务器ip/login/
四:备注
之后项目重启只需要重启uwsgi之后再重启nginx即可,切记正式环境要关掉django的debug模式,防止报错源码被看到。
## 项目重启 killall -9 uwsgi uwsgi -i 项目名称.ini nginx -s reload ## 关闭项目debug模式 vim settings.py debug = Fasle
总结
到此这篇关于Centos环境部署django项目的文章就介绍到这了,更多相关Centos环境部署django内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?