阜宁县网站建设,前端微信小程序开发,中国哪里正在大开发大建设,联通公司做网站吗Django项目部署-uWSGIDjango运维部署框架整体部署架构web服务器与web应用服务器的区别部署环境准备安装python3安装mariadb安装Django和相关模块Django托管服务器uWSGI使用uWSGI配置使用Django运维部署框架 
整体部署架构 操作系统: Linux 。优势#xff1a;生态系统丰富…
Django项目部署-uWSGIDjango运维部署框架整体部署架构web服务器与web应用服务器的区别部署环境准备安装python3安装mariadb安装Django和相关模块Django托管服务器uWSGI使用uWSGI配置使用Django运维部署框架 
整体部署架构 操作系统: Linux 。优势生态系统丰富程序支持度高如docker在linux的性能就比在windows好 
数据库: Mariadb / Mysql。优势开源性能强劲的关系型数据库 
前端web服务器: Nginx 
后端app服务器: uWSGI 
web服务器与web应用服务器的区别 
Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。web服务器专注http请求的处理与返回通用性如nginx和apache可以处理所有http请求然后返回静态文件内容 
Web应用服务器是通过很多协议来为应用程序提供(serves)商业逻辑,具备解释服务端代码能力。Web应用服务器专注程序框架和动态内容的处理专用性如tomcat只能处理java程序而不能处理python程序 
简单归纳一下两者的区别 web服务器专注提供静态文件内容web应用app服务器专注提供动态内容 
常见的 web服务器 、web应用服务器 
软件名词是否Web服务器是否app服务器IIS是是Nginx是否Apache是否Tomcat是是Jetty是是WebSphere是是WebLogic是是uWSGI否是
部署环境准备 
安装python3 
卸载原有Python3 
whereis python3 |xargs rm -frv重新安装python3新建一个脚本文件 
CentOS7-installpython3.sh 
#!/bin/sh
yum groupinstall -y Development tools
yum install -y sqlite-devel ncurses-devel ncurses-libs zlib-devel mysql-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl-devel libffi-devel
curl -O -sSL https://npm.taobao.org/mirrors/python/3.8.10/Python-3.8.10.tar.xz  xz -d Python-3.8.10.tar.xz  tar xvf Python-3.8.10.tar
cd Python-3.8.10
./configure
make make install
cd ..
rm -rf Python-3.8.10 Python-3.8.10.tar.xz执行该脚本 
安装mariadb 
可参考该篇文章https://blog.csdn.net/qq_44614026/article/details/128735494?spm1001.2014.3001.5502 
安装Django和相关模块 
导出项目需要安装的模块pip freeze  requirements.txt 
安装需要的模块pip install -r requirements.txt 
python manage.py runserver 检查django相关的模块是否安装好 
Django托管服务器uWSGI 
uWSGIWeb Server Gateway Interface 
WSGI是Web服务器网关接口。属于web服务器和应用程序之间的通信协议uwsgi协议是uWSGI服务器使用的本地协议。它是一个二进制协议可以携带任何类型的数据。属性线路协议。uWSGI是一个全功能的HTTP服务器实现了WSGI协议、uwsgi协议、http协议等。它要做的就是把HTTP协议转化成语言支持的网络协议。比如把HTTP协议转化成WSGI协议让Python可以直接使用。 
uWSGI文档中文版https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/Download.html 
使用uWSGI 
配置 
安装 pip install uwsgi  
在项目根目录下创建一个uwsgi.ini文件 
[uwsgi]
chdir /data/project/autotpsite/
// 项目根目录
module  autotpsite.wsgi:application
// 指定wsgi模块下的application对象
http  0.0.0.0:8888
// 对本机8888端口提供服务
master  true
// 主进程
pidfile  /data/project/autotpsite/uwsgi8888.pid
// pid 文件用于脚本启动停止该进程
daemonize  /data/project/autotpsite/uwsgi_server.log
// 日志文件在sqtp应用目录下的apps.py文件下增加path配置 
from django.apps import AppConfigclass SqtpConfig(AppConfig):default_auto_field  django.db.models.BigAutoFieldname  sqtppath  ./autotpsite/sqtp   # 增加path配置使用 
启动: uwsgi xxx.ini   #   ini是配置文件保存启动项参数
重启: uwsgi –-reload   xxx.pid   # pid是进程文件
停止: uwsgi --stop     xxx.pid执行命令uwsgi uwsgi.ini会提示[uWSGI] getting INI configuration from uwsgi.ini说明读取配置文件启动成功 通过ls命令可以看到项目根目录下生成了uwsgi8888.pid和uwsgi_server.log文件 
在浏览器中输入IP:8888/login.html如果展示登录页面说明项目部署成功 
后续使用如果出现-bash: uwsgi: command not found 
则需要对uwsgi创建软连接 
find / -name uwsgi	
# 找到uwsgi执行位置
/usr/local/python3/bin/uwsgi	
# uwsgi所在位置
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
# 建立软链接软连接起作用后uwsgi命令可正常使用