码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS下 Django部署 uWSGI+Django

时间:2020-02-17 15:43:57      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:amp   需要   uwsgi   django部署   目录   错误   python 2   zip2   mic   

  由于新冠疫情的缘故,公司要求员工停薪休假,赋闲在家的时候还是决定做点正事,学学习。

  本人Linux入门水平,Python入门水平,所以在网上找的那些python部署的帖子,看的是云里雾里的,也没有达到预期的运行效果。好不容易摸索了一个简单易懂的部署方式,记录一下为了加深理解。

  CentOS Linux release 7.6.1810 

  Python 2.7.5  # 系统自带的python版本  

  pip 20.0.2  # 已升过级

  查看系统版本

  # cat /etc/redhat-release

  CentOS Linux release 7.6.1810 (Core) 

  # rpm -q centos-release

  centos-release-7-6.1810.2.el7.centos.x86_64

 

  1. 安装基础开发包

  yum groupinstall "Development tools"

  yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

  

  2.安装uwsgi

  pip install uwsgi

  uwsgi --version # 查看 uwsgi 版本

  技术图片

  在安装过程中可能会遇到上面的错误,执行“yum install python-devel.x86_64”可以应对。

 

  3. 安装Django

  pip install django

  pip list   # 查看已经安装的模块

  

  4. 上传项目

  如果本地有自己的Django项目可以上传。我没有项目,只是在服务器上新建了一个,为了学习如何部署和运行。

  如果项目有数据库,则需要进行同步操作。在项目根目录下执行如下命令。

  # python manage.py makemigration

  # python manage.py migrate

  

  5. 命令行运行django项目

  uwsgi --http=ip:port --file=wsgifile_path  # 不配置静态文件也可运行,但是项目加载不到静态文件

  

  6. 收集静态文件

  # vim setting.py

  找到: STATIC_URL = ‘/static/‘

  在下面添加: STATIC_ROOT = ‘/howm/damu/work/shopping/static_file/‘  

  执行:python manage.py collectstatic

  

  最后: uwsgi --http=192.168.37.128:8000 --file=shopping/wsgi.py --static-map=/static=static_file

  # 命令 &  # 则命令在后台运行

  如果是阿里云服务器,此处的ip需要填写内网的ip地址。 

  

  6. 配置所有需要的选项,通过配置文件启动uwsgi服务器

  在shopping项目根目录下创建wsgi.ini

  [uwsgi]

  http = 192.168.37.128:8000

  chdir = /home/damu/work/shopping/  # 项目根目录

  wsgi-file = shopping/wsgi.py

  rocesses = 4  # 启动的进程数

  threads = 2  # 每个进程的线程

  master = true  # 主进程

  pidfile = uwsgi.pid  # 主管理进程防止的位置

  daemonize = uwsgi.log  # 后台记录的日志

  static-map = /static=static_file  # 静态文件

 

  以配置文件方式启动服务

  # uwsgi --ini uwsgi.ini

  

  7. 其他

  ps -ef | grep uwsgi   # 查看进程

  技术图片

 

   一共六个进程(1个主进程,4个创建进程,1个守护进程)。

  

  # uwsgi --ini uwsgi.ini &   # 在后台运行命令

  pkill -f uwsgi -9  # 杀掉后台的uwsgi进程

  killall -s INT /uws/bin/uwsgi  # 杀掉后台的uwsgi进程

  

 

 

  

CentOS下 Django部署 uWSGI+Django

标签:amp   需要   uwsgi   django部署   目录   错误   python 2   zip2   mic   

原文地址:https://www.cnblogs.com/iverson-3/p/12318762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!