您现在的位置是:首页 > 电脑学习教程 > Linux > 文章正文 Linux

Centos环境部署django项目的全过程(永久复用)

2022-10-26 09:57:16 Linux

简介Django是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷,下面这篇文章主要给大家介绍了关于Centos环境部署django项目的相关资料,需...

Django是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷,下面这篇文章主要给大家介绍了关于Centos环境部署django项目的相关资料,需要的朋友可以参考下!

一:基础环境介绍:

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.基础依赖环境安装


  1. yum -y groupinstall "Development tools" 
  2.   
  3. 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等必须命令


  1. yum -y install wget vim unzip 

3.安装python与pip(或者python多版本管理工具pyenv等)

  1. ## 1.下载自己需要版本的python版本包 
  2. wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz 
  3.   
  4. ## 2.新建python3目录 
  5. mkdir /usr/local/python3 
  6.   
  7. ## 3.安装Python3压缩包,进入解压目录,指定安装目录,安装Python3 
  8. tar -xvf  Python-3.9.5.tar.xz 
  9. cd Python-3.9.5 
  10. ./configure --prefix=/usr/local/python3 
  11. make && make install 
  12.   
  13. ## 4.安装Python3时,会自动安装pip,如果没有就手动安装 
  14. yum -y install python-pip 
  15.   
  16. ## 5.pip配置(更换pip的源) 
  17. (1)找到pip.conf并编辑 
  18. [root@devops ~]# cd ~  
  19. [root@devops ~]# mkdir .pip  
  20. [root@devops ~]# vim pip.conf 
  21.   
  22. [global]  
  23. index-url = https://mirrors.aliyun.com/pypi/simple/  
  24. [install]  
  25. trusted-host=mirrors.aliyun.com 
  26.   
  27. :wq!保存退出即可 
  28.   
  29. (2) 安装依赖安装好pip 
  30. [root@devops ~]# yum -y install epel-release 
  31. [root@devops ~]# yum install python-pip 
  32. [root@devops ~]# pip install --upgrade pip 
  33.   
  34. ## 6.升级下pip 
  35. pip install --upgrade pip 
  36.   
  37. ## 7.创建软链接 
  38. ln -s /usr/local/python3/bin/python3 /usr/bin/python3 
  39. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 
  40.   
  41. ## 输入python3测试是否安装成功 
  42. python -V 

4.安装nginx

  1. ## 1.yum方式安装nginx 
  2. yum -y install nginx 
  3.   
  4. ## 2.查看nginx版本 
  5. nginx -v 
  6.   
  7. ## 3.启动nginx 
  8. systemctl status nginx  ## 查看nginx状态 
  9.   
  10. systemctl start nginx   ## 开启nginx服务 
  11.   
  12. systemctl stp nginx ## 关闭nginx服务 

5.安装uwsgi

  1. ## 1.安装uwsgi 
  2. pip3 install uwsgi 
  3.   
  4. ## 2.建立软链接 
  5. ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi 
  6.   
  7. ## 3.查看uwsgi版本 
  8. uwsgi --version 

三:部署django项目:

1.上传项目并安装项目模块并启动测试

  1. ## 1.上传文件到服务器 
  2.   
  3. ## 2.解压项目 
  4. unzaip devops.zip 
  5.   
  6. ## 3.pip安装项目依赖模块 
  7. pip3 install -r requirements.txt 
  8.   
  9. ## 4.通过python3 manage.py runserver运行一下项目,如果能正常启动则进行下一步,不能正常运行往上检查。 
  10. 这里需要注意使用python3来执行manage.py,否则会出现报错情况! 

2.在项目里配置uwsgi.ini配置文件

(1)在settings.py所在目录vim新文件 项目名称.ini

(2)配置 项目名称.ini文件

  1. [uwsgi] 
  2. master=true 
  3. chdir=/data(服务器实际目录)/项目名称 
  4. module=项目名称.wsgi 
  5. py-autoreload=1 
  6. lazy-apps=true   
  7. socket=127.0.0.1:8000 
  8. processes=4 
  9. buffer-size=32768 
  10. daemonize=uwsgi.log 
  11. log-maxsize = 5000000 
  12. vacuum = true 
  13. disable-logging = true 

(3)检查settings.py配置并收集项目静态文件

一般都是这个配置:

settings.py配置:

  1. STATIC_URL = '/static/' 
  2. STATIC_ROOT = os.path.join(BASE_DIR, '/static/'
  3. STATICFILES_DIRS = [ 
  4.   os.path.join(BASE_DIR, '../bitmain_cmdb/static'),  ## 实际静态文件所在项目路径,亲测好使 

url.py配置:

  1. from django.conf.urls import * 
  2. from django.contrib import admin 
  3. from django.conf.urls import url,include 
  4. from django.conf.urls.static import static 
  5. from django.conf import settings 
  6. urlpatterns = [ 
  7. url(r'^cmdb_admin/', admin.site.urls), 
  8. ] + static(settings.STATIC_URL,document_root = settings.STATIC_ROOT) 

执行收集静态文件命令:


  1. python manage.py collectstatic 

(4)启动测试,并查看日志

  1. ## 在当前目录启动 
  2. uwsgi -i 项目名称.ini 
  3.   
  4. ## 启动之后查看进程 
  5. ps -ef | grep uwsgi 

启动:uwsgi -i 项目名称.ini

查看进程

查看日志,服务启动正常

3.配置nginx

  1. vim /etc/nginx/nginx.conf 

nginx.conf配置

  1. user nginx; 
  2. worker_processes auto; 
  3. error_log /var/log/nginx/error.log; 
  4. pid /run/nginx.pid; 
  5.   
  6. # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. 
  7. include /usr/share/nginx/modules/*.conf; 
  8.   
  9. events { 
  10. worker_connections  1024; 
  11. http { 
  12. include   mime.types; 
  13. default_type  application/octet-stream; 
  14. sendfileon; 
  15. server { 
  16. listen 80; 
  17. charset utf-8; 
  18. location /static { 
  19.    alias /项目所在目录/static/; 
  20. location / { 
  21. include uwsgi_params; 
  22. uwsgi_pass 127.0.0.1:8000; 

(4)启动nginx

  1. ## 1.配置完nginx.conf,执行 nginx -t /etc/nginx.conf 启用nginx配置文件 
  2.   
  3. ## 2.软加载nginx   nginx -s  reload 

(5)访问django项目http://服务器ip/login/

四:备注

之后项目重启只需要重启uwsgi之后再重启nginx即可,切记正式环境要关掉django的debug模式,防止报错源码被看到。

  1. ## 项目重启 
  2. killall -9  uwsgi 
  3. uwsgi -i 项目名称.ini 
  4. nginx -s reload 
  5. ## 关闭项目debug模式 
  6. vim  settings.py  
  7. debug = Fasle 

 

相关文章

站点信息