Ubuntu + Django(DRF) + channels(websocket)+NGINX + uwsgi 环境部署

原来uwsgi并不能启动  asgi  呀!现在才知道,就因为这一点我花了一周时间才成功啊!!!!!!!!

是呀!你启动uwsgi 是将你的项目启动了,可是你也发现虽然启动了,但是你的websocket不能访问???why??

原因是你的ASGI没有启动

明明你使用python manage.py runserver 是可以访问的,但是为啥部署到服务器上不能访问呢?

原因是uwsgi服务器不能启动ASGI, 但是你启动了WSGI所以可以访问HTTP请求,你可以留意一下启动的日志。。。。坑啊!

要想启动ASGI

那就得使用Daphne启动

daphne -p 8002 -b 192.168.233.129 test_django.asgi:application

你不用管 test_django.asgi, 就像uwsgi.ini 里面的module的test_django.wsgi 不是一个文件,test_django是项目名称

好了!ASGI启动了。。。。。。。。。

WSGI启动就不说了!太多了

不过usgi.ini 里面要注意一个东西,那就是静态文件的路径配置

static-map=/static=/home/wb/Desktop/test_django/static/ 

好了,现在就是配置NGINX了, 使它能同时兼容HTTP,WebSocket两种协议

。。。

原文地址:https://www.cnblogs.com/wbdream/p/11219641.html

时间: 2024-11-05 15:18:11

Ubuntu + Django(DRF) + channels(websocket)+NGINX + uwsgi 环境部署的相关文章

Django+nginx+uwsgi架构部署

一.环境: Django版本:  Django-1.10.6.tar.gz Nginx 版本: nginx-1.11.10.tar.gz uwsgi 版本: uwsgi-2.0.14.tar.gz 二.安装部署:(在网上能搜到很多这种架构的安装,大都是千篇一律,但是在配置中有几个点说的非常模糊,不够明确.使很多人陷入迷茫之中) 1.将Django.nginx和uwsgi进行源码安装,安装步骤比较简单. # mkdir -p /data/logs          ## 创建uwsgi日志目录 安

centos7下采用Nginx+uwsgi来部署django

之前写过采用Apache和mod_wsgi部署django,因为项目需要,并且想比较一下Nginx和Apache的性能,尝试采用Nginx+uwsgi的模式来部署django. 1.安装uwsgi以及Nginx 1 pip install uwsgi --目前的版本为2.0.15 2 yum install epel-release 3 yum install nginx* --目前的版本为1.10.2 2.测试 1 # test.py 2 def application(env, start_

nginx+uwsgi+djangos部署项目完整

1.基本信息 Linux 版本:SentOS7.4 Python 版本:3.7.1 2.下载 uWSGI pip3 install uwsgi uwsgi 主要的任务是座位分发路由的服务器. 先写一个测试文件,测试 uwsgi 是否可以正常使用. # test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World

Nginx+uWsgi生产部署Django

部署得过程很简单,部署得核心在于,为什么要这样做,每一个参数代表什么意思,最终的目的是得了解,一些基概念性的东西. uWsgi简介 说Uwsgi之前,先说一下Wsgi. 什么是Wsgi? WSGI: 是一种Web服务器网关接口,它是一个Web服务器(如Nginx) 与应用服务器(如uWSGI服务器)通信的一种规范. uWSGI是一个Web服务器,它实现了WSGI协议,uwsgi,http等协议,Nginx中HttpUwsgiModul的作用是与uWSGI服务器进行交换 那么那些框架自带了Wsgi

Flask+Gunicorn+Gevent+Supervisor+Nginx生产环境部署

老毛病了,在用某个新框架或新架构之前,总得花时间谷歌和自己折腾一番,才能知道这个框架和架构的优缺点,才会发现自己最喜欢.用的最顺手的的一种.近期在学习python,这里记录一下自己用的一套python web开发的部署环境. 简介 之所以选择Flask,而没选择用的最多的django,是因为现在这个小项目是一个简单的web工具,提供上传文件.数据处理.并下载的功能.简单小巧,没必要折腾Django.而Flask正好是一个Python实现的Web开发微框架,它基于Werkzeug 和 Jinja2

tornado + nginx + supervisord 环境部署

学习tornado有一周多了,自己按着demo中的例子手动搬代码,收获还是有的,加深了理解.demo: http://demo.pythoner.com/itt2zh/ch8.html 大概明白了它怎么工作后,开始部署一个线上环境跑跑. nginx: 分配客户端请求给upstream组中列出的Tornado实例.其中静态目录的文件由nginx直接提供. supervisord: tornado进程管理. tornado: 功能实现. 关于nginx 在/etc/nginx/site-enable

Django框架代码和nginx的整合部署

1. nginx 安装不在此阐述,直接上关键配置 server { listen      80; server_name  _; access_log  /var/log/nginx/platform_admin.log  main; error_log /var/log/nginx/platform_admin_err.log ; location /static { root /var/www/platform_admin/resources/; } location / { uwsgi_

Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器

一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool make setuptool 二.编译安装python2.7.5 1. 下载python2.7.5,保存到 /data/qtongmon/software http://www.python.org/ftp/python/ 2. 解压文件 tar xvf Python-2.7.5.tar.bz2

nginx+Uwsgi+Django总结与分析

配置与调试nginx与uwsgi 参考: 1.uWSGI其三:uWSGI搭配Nginx使用 2.学习VirtualEnv和Nginx+uwsgi用于django项目部署 3.部署备忘 4.nginx+uwsgi 5.编程小结 6.nginx + uwsgi + django + python 部署 最近三天一直在调试Django+nginx+uwsgi+sqlite3部署的阿里云的服务器,系统是ubuntu的所以下载什么的都很方便sudo spt-get就可以了 所以想着把这几天遇到的问题跟过程