centos7使用nginx+uwsgi部署python django项目
centos7,使用,nginx,uwsgi,部署,python,django,项目
2025-03-18 08:48:48 时间
在django框架中,我们一般直接通过python manage.py runserver来启动提供服务,但是如果生产环境此方法不可行,而且容易导致异常退出,于是需要借助uwsgi来作为守护进程。
操作思路:
- 服务器中安装uwsgi插件
- 新建uwsgi.ini文件,写入uwsgi需要的参数
- 安装nginx,并配置
uwsgi_pass 127.0.0.1:9496
代理转发 - 启动nginx、uwsgi
安装uwsgi插件
pip install uwsgi
新建uwsgi.ini文件,写入uwsgi需要的参数
可直接在代码根目录中创建uwsgi.ini
文件,参考如下:
[uwsgi]
socket = 127.0.0.1:9496
chdir = /home/dengzhixu/crawl_data
wsgi-file = /home/dengzhixu/crawl_data/yibo_crawl_data/wsgi.py
processes = 4
threads = 2
#stats = 0.0.0.0:9496
buffer-size = 65536
#daemonize = /var/log/uwsgi.log
安装nginx,配置uwsgi_pass
转发
安装nginx步骤省略,可直接去lnmp.org
下载集成nginx
nginx添加vhost配置文件,参考如下
server
{
listen 9495;
#listen [::]:;
server_name crawl.com ;
index index.html index.htm default.html default.htm;
root /home/dengzhixu/crawl_data;
include rewrite/other.conf;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9496;
uwsgi_param UWSGI_SCRIPT ./yibo_crawl_data/demosite.wsgi;
uwsgi_param UWSGI_CHDIR /home/dengzhixu/crawl_data;
index index.html index.htm;
client_max_body_size 35m;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/crawl.com.log;
启动nginx、uwsgi
nginx
uwsgi -d --ini /home/dengzhixu/crawl_data/uwsgi.ini
配置systemd
自启动
创建一个systemd服务文件/lib/systemd/system/uwsgi.service
[Unit]
Description=uWSGI Emperor
#After=syslog.target
After=network.target
[Service]
#PIDFile=/run/uwsgi.pid
ExecStart=/usr/local/bin/uwsgi --ini /home/dengzhixu/crawl_data/uwsgi.ini
#ExecStop=/usr/local/bin/uwsgi --stop $MAINPID
#ExecReload=/usr/local/bin/uwsgi -d --reload $MAINPID
# Requires systemd version 211 or newer
#RuntimeDirectory=uwsgi
Restart=always
KillSignal=SIGQUIT
Type=notify
#Type=forking
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
开启自启动,并启动
systemctl start uwsgi.service
systemctl enable uwsgi.service
参考文献:
https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html
相关文章
- Python进阶27-Django 路由层
- Django中的关系映射
- Django的ORM操作-查询数据
- pycharm django环境搭建_创建web项目
- pycharm安装包说pip版本不对_django库
- pycharm配置django环境_pycharm的terminal默认环境
- Python进阶30-Django AJAX
- pycharm运行环境配置_pycharm安装django
- Django默认控制面板增加module
- Python进阶25-Django Web框架
- Python项目部署-使用Nginx部署Django项目
- Django的聚合查询与原生操作
- Django实现调用腾讯云短信接口
- Django的请求与响应
- pycharm django环境搭建_IDEA如何创建项目
- Pycharm如何创建Django项目「建议收藏」
- [博客搭建] 通过用户邮箱认证来介绍 django-allauth 的使用思路
- Django的ORM操作-创建数据
- Django模板引擎中变量作为属性值调用
- Django学习笔记一初识Django