ubuntu服务器上用Nginx和Uwsgi部署django项目
开发环境:ubuntu系统,python3环境
django项目目录: fast_foot 为项目根目录,app为项目应用
现在,我们登陆远程服务器
安装Nginx
安装好了,我们看一下nginx的配置目录
打开nginx.conf这个文件,可以看到以下代码我们nginx配置他是包括了sites-enabled这个文件下的所有文件,所以我们只需在sites-enabled下增加一个我们自己的配置文件就可以使用了。
我们进入sites-enabled目录,复制一份default名字为xxx,名字随意。
然后我们进入我们刚复制的文件进行修改,我们只需修改server里面的内容即可,如下图
然后保存退出,重启一下nginx
nginx配置好了,我们可以运行一下我们的django项目
现在我们通过浏览器访问http://fast-food.zengjielin.top/,结果来了个无法访问
我们都知道浏览器默认的端口是80,我们现在用的是阿里云服务器,还记得有个叫安全组的东西吧,好现在我们来配置一个安全组
然后我们重新访问我们的网址http://fast-food.zengjielin.top/,发现有东西出来了
成功配好nginx,接下来我们来测试我们写出来的接口
先看一下我写的简单的接口
fast-food/app/views.py
fast-food/app/urls.py是这样的
在我们根目录下的fast_food/fast_food/urls.py是这样的
所以我们可以通过这样来访问我们的接口,不出意外会返回{'code': 0}
没想到竟然报错了
不急,我们可以看下报错信息,我们可以看到红色框框的信息,得知,我们缺少一个 HTTP_HOST header
现在我们只需修改fast_food/settinsg.py文件即可,内容如下,保存退出。
重新在浏览器访问我们的接口
发现成功得到我们的结果了。
现在我们项目中可能会出现高并发的情况,所以我们可以用Uwsgi来解决这个问题
首先安装Uwsgi
然后在我们项目的根目录下新建一个fast_food_uwsgi.ini配置文件
保存退出后,我们运行一下我们的uwsgi
然后我们通过浏览器继续访问我们的接口
报了个502,出现报错我们先别紧张,先看下报错信息
红色框框为报错信息,这个问题一定是我们的fast_food_uwsgi.ini配置错误了,我们重新打开在仔细阅读一下我们的代码
发现真的有问题,看到红色框框了没有,nginx把请求发送给uwsgi是用tcp协议的,而我们现在是用浏览器访问我们的uwsgi接口,是要通过http协议的,所以我们只需把socket改成http即可
保存退出,重新运行我们的fast_food_uwsgi.ini文件
uwsgi --inin fast_food_uwsgi.ini
重新在浏览器访问我们的接口
发现我们熟悉的{'code': 0},又出现了。到现在为止我们已经完成nginx+uwsgi+django项目的部署。有什么问题可以在下方留言。
ubuntu服务器上用Nginx和Uwsgi部署django项目的更多相关文章
- linux上使用nginx、uwsgi部署django项目
参考:CentOS7下部署Django项目详细操作步骤 注意事项: 在虚拟环境中操作,虚拟环境中安装nginx.uwsgi,虚拟环境外需安装uwsgi -- 临时关闭防火墙:systemctl sto ...
- nginx + uwsgi 部署django项目
因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...
- Nginx 和 Gunicorn 部署 Django项目
目录 Nginx 和 Gunicorn 部署 Django项目 配置Nginx 安装配置Gunicorn 通过命令行直接启动 Gunicorn 与 uwsgi 的区别,用哪个好呢 Gunicorn u ...
- nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!
前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...
- 将树莓派变成一个web服务器(2):Nginx+Flask+uWSGI部署全过程
1)安装Flask,uwsgi,nginx sudo apt-get update sudo apt-get install python-flask #Flask sudo apt-get inst ...
- Nginx + uWSGI 部署Django 项目,并实现负载均衡
一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...
- 使用Nginx和uwsgi部署Flask项目
前言 之前用Flask框架开发了一个Python的Web项目,使用Nginx和uWSGI部署起来感觉挺麻烦,过程中还因为对Flask框架的不熟悉,花了好长时间才把应用完全部署起来.下面分享部署成功 ...
- 使用Nginx+uWSGI部署Django项目
1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi l ...
- 使用uWSGI部署django项目
先说说什么是uWSGI吧,他是实现了WSGI协议.uwsgi.http等协议的一个web服务器,那什么是WSGI呢? WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx)与应用服务 ...
随机推荐
- mybatis使用@Insert @SelectKey 执行插入语句时获得主键自增长值(转)
@Insert(" insert into table(c1,c2) " + " values (#{c1},#{c2}) ") @SelectKey(resu ...
- 天刀默认src截图保存文件夹位置在哪里?
C:\Users\Public\Documents\WuXia 注意有的电脑显示的是public documents,实际进去就是documents
- C# List分组
//分组 8个为一组 List<List<string>> ArrayList = sArray.Select((x, i) => new { Index = i, Va ...
- 微信小程序_(组件)swiper轮播图
微信小程序swiper轮播图组件官方文档 传送门 Learn: swiper组件 一.swiper组件 indicator-dots:是否显示面板指示点[默认值false] autoplay:是否自动 ...
- zabbix-server服务端配置文件
[root@node7 ~]# vim /etc/zabbix/zabbix_server.conf ##日志文件 LogFile=/var/log/zabbix/zabbix_server.log ...
- Tree-based Model 如何处理categorical variable
categorical variable 分为 order variale 和 non-order variable,其中order variable直接使用sklearn.preprocess.La ...
- HNOI2012矿场搭建
做完Mining Your Own Business后觉得这个题没什么意思了,数据范围小的连边数不清空都能A. 题解直接看这篇吧.做题的经历也挺……对吧. #include<iostream&g ...
- flask 第五篇
需求: 1. 用户名: oldboy 密码: oldboy123 2. 用户登录成功之后跳转到列表页面 3. 失败有消息提示,重新登录 4.点击学生名称之后,可以看到学生的详细信息 后端: from ...
- python3笔记二十三:正则表达式之元字符
一:学习内容 匹配单个字符与数字:..[].^.\d.\D.\w.\W.\s.\S 匹配锚字符(边界字符):^.$.\A.\Z.\b.\B 匹配多个字符:(xyz) .x?.x*..*.x+.x{n} ...
- Java环境变量的操作系统原理[浅谈]
从知乎摘抄过来的文章,图没有复制过来,当作自己的笔记.其中我认为重要的部分(涉及操作系统的)已经加粗了. 本文源自:你应该知道的 Windows 环境变量 - 麓山南人的文章 - 知乎 https:/ ...