uwsgi+nginx部署Django项目操作示例

2020-10-28 16:27:37 浏览数 (1)

本文实例讲述了uwsgi nginx部署Django项目操作。分享给大家供大家参考,具体如下:

uWSGI概述

uWSGI 是一个全功能的 HTTP 服务器,可以把 HTTP 协议转化成语言支持的网络协议。

安装uwsgi

使用pip安装即可

代码语言:javascript复制
pip install uwsgi

安装完成后可测试

代码语言:javascript复制
#vim test.py
def application(env, start_response):
  start_response('200 OK', [('Content-Type','text/html')])
  return [b"Hello World"]

然后运行:

代码语言:javascript复制
uwsgi --http :9090 --wsgi-file test.py

现在访问 ip:9090,如果出现Hello World说明安装成功

创建一个django项目

代码语言:javascript复制
django-admin.py startproject hello

然后你的目录是这样的

hello / ├── hello │?? ├── __init__.py │?? ├── settings.py │?? ├── urls.py │?? └── wsgi.py └── manage.py

确保Django应用能正常启动

配置uwsgi.ini

代码语言:javascript复制
#] vim /etc/uwsgi.ini #此文件可放在其它地方
[uwsgi]
chdir=/work/hello/ #项目目录
uid=root #可换成其它用户和组
gid=root
module=hello.wsgi:application
socket=/work/hello/uwsgi.sock
master=true
workers=5
pidfile=/work/hello/uwsgi.pid
vacuum=true
thunder-lock=true
enable-threads=true
harakiri=30
post-buffering=4096
daemonize=/work/hello/uwsgi.log

uwsgi相关命令

启动uwsgi:uwsgi --ini /path/uwsgi.ini 停止uwsgi:uwsgi --stop /path/uwsgi.pid 重新加载配置:uwsgi --reload /path/uwsgi.pid

nginx配置

代码语言:javascript复制
server {
  listen 8080;
  location /static {
    alias /work/hello/static; #Django project's static files
  }
  location / {
    include uwsgi_params;
    uwsgi_connect_timeout 30;
    uwsgi_pass unix:/work/hello/uwsgi.sock;
  }
}

先启动uwsgi,启动nginx,一个简单的nginx uwsgi django就完成了

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

您可能感兴趣的文章:
  • Ubuntu 14.04 Django 1.7.1 Nginx uwsgi部署教程
  • 使用Nginx uWsgi实现Python的Django框架站点动静分离
  • 在Debian下配置Python Django Nginx uWSGI MySQL的教程
  • 解决nginx uwsgi部署Django的所有问题(小结)
  • Centos5.4 Nginx-0.8.50 UWSGI-0.9.6.2 Django-1.2.3搭建高性能WEB服务器
  • Django Uwsgi Nginx 实现生产环境部署的方法
  • 详解Django Uwsgi Nginx的生产环境部署
  • nginx uwsgi启动Django项目的详细步骤
  • django2 uwsgi nginx上线部署到服务器Ubuntu16.04
  • 详解Django Uwsgi Nginx 实现生产环境部署

0 人点赞