CentOS下 Django部署 uWSGI+Django(一)
由于新冠疫情的缘故,公司要求员工停薪休假,赋闲在家的时候还是决定做点正事,学学习。
本人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”可以应对。

安装时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
yum install libffi-devel
然后从config开始重新安装
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地址。
7. 配置所有需要的选项,通过配置文件启动uwsgi服务器
在shopping项目根目录下创建wsgi.ini
[uwsgi]
http = 192.168.37.128:8000 #web服务IP端口,uWSGI做web服务器时用
chdir = /home/damu/work/shopping/ # 项目根目录
wsgi-file = shopping/wsgi.py #指定wsgi模块
rocesses = 4 # 启动的进程数
threads = 2 # 每个进程的线程
master = true # 表示主进程模式进行
pidfile = uwsgi.pid # 主管理进程文件放置的位置
daemonize = uwsgi.log # 日志文件
static-map = /static=static_file # 静态文件
以配置文件方式启动服务
# uwsgi --ini uwsgi.ini
进程文件,用于服务重启、停止。如:
重启指令:uwsgi --restart [pidfile路径]
停止指令:uwsgi --stop [pidfile路径]
或者:
pkill -f uwsgi -9
killall -s INT /uws/bin/uwsgi
killall -9 uwsgi # 删除uwsgi进程,由于释放端口有延迟,要等几秒。
8. 其他
ps -ef | grep uwsgi # 查看进程

一共六个进程(1个主进程,4个创建进程,1个守护进程)。
CentOS下 Django部署 uWSGI+Django(一)的更多相关文章
- Django部署,Django+uWSGI+nginx+Centos部署
说明:系统是在windows上开发的,使用django1.11.4+python3.6.3开发,需要部署在centos6.4服务器上. 第一步:在Centos6.4上安装Python3.6.2 安装请 ...
- Django 部署 uwsgi + nginx + supervisor
Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua • ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- CentOS 下搭建部署独立SVN服务器全程详解(5.5)
SVN服务器有2种运行方式: 1.独立服务器(例如:svn://xxx.com/xxx): 2.借助apache (例如:http://svn.xxx.com/xxx): 为了不依赖apache, ...
- 了解django部署(Django + Uwsgi + Nginx)
首先了解下基本概念: 1 WSGI WSGI:全称是Web Server Gateway Interface,是python应用程序或者框架和web服务器之间的一种接口,被广泛接受.WSGI不是服务器 ...
- ubuntu下配置nginx+uwsgi+django
服务器配置是Ubuntu14.04 64位OS ubuntu14.04默认是安装好了python2.7版本不用自己安装了. 先更新下源 sudo apt-get update 第一步先安装pip su ...
- Django部署--uwsgi配置--nginx服务器配置
uwsgi.ini文件 [uwsgi] #使用nginx连接时使用,Django程序所在服务器地址 socket=127.0.0.1:8000 #直接做web服务器使用,Django程序所在服务器地址 ...
- 在Centos下使用Siege对Django服务进行压力测试
Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试.今天我们就使用Siege来对Django进行一次压力测试, ...
- centos下运行python3.6+Django+mysql项目
文件准备: Django项目 myslq安装 关闭防火墙 用xshell拖拽到centos上 安装文件: 安装python3.6(3.7有问题) sh install_py36.sh 关闭防火墙 sh ...
随机推荐
- 在模仿中精进数据分析与可视化01——颗粒物浓度时空变化趋势(Mann–Kendall Test)
本文是在模仿中精进数据分析与可视化系列的第一期--颗粒物浓度时空变化趋势(Mann–Kendall Test),主要目的是参考其他作品模仿学习进而提高数据分析与可视化的能力,如果有问题和建议,欢迎 ...
- 「题解」NWRRC2017 Grand Test
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:洛谷 P7025.gym101612G. 题意概述 给你一张有 \(n\) 个点 \(m\) 条边的无向图,无重边无自环, ...
- P5960 【模板】差分约束算法
题目描述 给出一组包含 $m$ 个不等式,有 $n$ 个未知数的形如: 的不等式组,求任意一组满足这个不等式组的解. 输入格式 第一行为两个正整数 $n,m$,代表未知数的数量和不等式的数量. 接下来 ...
- 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网
/文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...
- MySQL的Limit 性能差?真的不能再用了?
首先说明一下MySQL的版本: mysql> select version();+-----------+| version() |+-----------+| 5.7.17 |+------- ...
- jvm面试常提的问题
1.JVM如何加载一个类的过程,双亲委派模型中有哪些方法 类加载过程:加载.验证(验证阶段作用是保证Class文件的字节流包含的信息符合JVM规范,不会给JVM造成危害).准备(准备阶段为变量分配内存 ...
- 「10.15」梦境(贪心)·玩具(神仙DP)·飘雪圣域(主席树\树状数组\莫队)
A. 梦境 没啥可说的原题.... 贪心题的常见套路我们坐标以左端点为第一关键字,右端点为第二关键字 然后对于每个转折点,我们现在将梦境中左端点比他小的区间放进$multiset$里 然后找最近的右端 ...
- unity 通过JsonUtility实现json数据的本地保存和读取
本文主要讲解json数据在本地的保存和读取,使用的是unity5之后提供的JsonUtility工具. 一.关于json数据的保存 在实际开发中,有时候可能涉及到大量数据保存到本地,以便于下次客户端的 ...
- BFS经典面试题——C++版
文章目录 蛇梯棋 单词接龙 青蛙过河 蛇梯棋 N x N 的棋盘 board 上,按从 1 到 N*N 的数字给方格编号,编号 从左下角开始,每一行交替方向. 例如,一块 6 x 6 大小的棋盘,编号 ...
- 17、ansible配置管理
17.1.前言: 1.说明: ansible是自动化运维工具,基于Python开发,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力,真正 ...