uwsgi+nginx+django 部署学习

收集静态文件及部署配置

复制代码
DEBUG = False
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = '/data/static'

python3 manage.py collectstatic 收集静态文件,成功后可在STATIC_ROOT目录查看

安装依赖

复制代码
pip3 install uwsgi

django项目结构树

创建uwsgi.ini文件,用于启动django服务

复制代码
vim uwsgi.ini

uwsgi

#套接字方式--使用nginx连接时使用

socket=192.168.0.214:8000

#http通信方式--直接做web服务器使用

http= 192.168.79.131:8000

#配置项目目录

chdir=/data/web

#项目中wsgi.py文件的目录,相对于项目目录

wsgi-file=web/wsgi.py

进程数

processes=4

线程数

threads=2

uwsgi做主进程

master=True

存放进程编号的文件

pidfile=uwsgi.pid

后台运行,并输出日志

daemonize=uwsgi.loguwsgi开机自启

uwsgi常用命令,小技巧: 加命令参数 & 可以将其放到后台运行

启动项目:uwsgi --ini uwsgi.ini

重启项目:uwsgi --reload pythonDjango.pid

停止项目:uwsgi --stop pythonDjango.pid
uwsgi --http :8001 --wsgi-file test.py # 启动特定的文件

测试指定端口:

复制代码
curl 127.0.0.1:8000

配置uwsgi服务重启service

复制代码
vim /usr/lib/systemd/system/uwsgi.service

Unit

Description=uwsgi-uwsgi-support

After=network.target

Before=nginx.service

Service

ExecStartPre=/bin/sleep 60

ExecStart=/usr/sbin/start-uwsgi.sh

ExecReload=/bin/kill -HUP ( ps -ep | grep uwsgi)

Type=forking

Install

WantedBy=multi-user.target

配置start-uwsgi.sh 文件

复制代码
uwsgi --ini /data/uwsgi.ini

启动uwsgi服务

systemctl enable uwsgi.service

systemctl start uwsgi.service

配置nginx.conf

复制代码
# 负载均衡
upstream backend {
    server 127.0.0.1:8000;
}
server {
	# nginx监听8080端口
    listen 8080;
    autoindex on;
    location /static {
        alias /data/static;
    }
    location / {
        include uwsgi_params;
        uwsgi_pass backend;
    }
}

启动指令

复制代码
service nginx start     # 启动nginx

service nginx restart   # 重启nginx

sudo nginx -t           # 重新加载配置
sudo nginx -s reload

遇到端口暂用问题解决方法

netstat -apn|grep 8000

kill -9 <pid>

相关推荐
Cloud Traveler几秒前
从 “学会学习” 到高效适应:元学习技术深度解析与应用实践
人工智能·学习·自然语言处理
岁岁岁平安33 分钟前
Vue3学习(组合式API——计算属性computed详解)
前端·javascript·vue.js·学习·computed·计算属性
macken999940 分钟前
音频分类的学习
人工智能·深度学习·学习·计算机视觉·音视频
虾球xz1 小时前
游戏引擎学习第278天:将实体存储移入世界区块
数据库·c++·学习·游戏引擎
水水沝淼㵘1 小时前
嵌入式开发学习日志(数据结构--单链表)Day20
c语言·开发语言·数据结构·学习·算法
FAREWELL000751 小时前
Unity基础学习(九)输入系统全解析:鼠标、键盘与轴控制
学习·unity·c#·游戏引擎
郜太素2 小时前
PyTorch 中神经网络相关要点(损失函数,学习率)及优化方法总结
人工智能·pytorch·python·深度学习·神经网络·学习
threelab2 小时前
05.three官方示例+编辑器+AI快速学习three.js webgl - animation - skinning - ik
人工智能·学习·编辑器
threelab2 小时前
04.three官方示例+编辑器+AI快速学习webgl_animation_skinning_additive_blending
人工智能·学习·编辑器
深度学习机器学习2 小时前
计算机视觉最不卷的方向:三维重建学习路线梳理
人工智能·深度学习·学习·yolo·目标检测·机器学习·计算机视觉