开发环境: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项目的更多相关文章

  1. linux上使用nginx、uwsgi部署django项目

    参考:CentOS7下部署Django项目详细操作步骤 注意事项: 在虚拟环境中操作,虚拟环境中安装nginx.uwsgi,虚拟环境外需安装uwsgi -- 临时关闭防火墙:systemctl sto ...

  2. nginx + uwsgi 部署django项目

    因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...

  3. Nginx 和 Gunicorn 部署 Django项目

    目录 Nginx 和 Gunicorn 部署 Django项目 配置Nginx 安装配置Gunicorn 通过命令行直接启动 Gunicorn 与 uwsgi 的区别,用哪个好呢 Gunicorn u ...

  4. nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!

    前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...

  5. 将树莓派变成一个web服务器(2):Nginx+Flask+uWSGI部署全过程

    1)安装Flask,uwsgi,nginx sudo apt-get update sudo apt-get install python-flask #Flask sudo apt-get inst ...

  6. Nginx + uWSGI 部署Django 项目,并实现负载均衡

    一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...

  7. 使用Nginx和uwsgi部署Flask项目

    前言   之前用Flask框架开发了一个Python的Web项目,使用Nginx和uWSGI部署起来感觉挺麻烦,过程中还因为对Flask框架的不熟悉,花了好长时间才把应用完全部署起来.下面分享部署成功 ...

  8. 使用Nginx+uWSGI部署Django项目

    1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi l ...

  9. 使用uWSGI部署django项目

    先说说什么是uWSGI吧,他是实现了WSGI协议.uwsgi.http等协议的一个web服务器,那什么是WSGI呢? WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx)与应用服务 ...

随机推荐

  1. MessagePack Java Jackson Dataformat 不使用 str8 数据类型的序列化

    老的 msgpack-java(例如 0.6.7)并不支持 MessagePack str8 数据类型. 当你的希望的你的应用程序需要支持老的版本的话,你需要禁用这个数据类型,例如使用下面的语句: M ...

  2. TTTTTTTTTTTTTTTTTTT UVA 2045 Richness of words

    J - Richness of words Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64 ...

  3. [sdoi2015]排序(搜索+剪枝优化)

    Description 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N),第i中 ...

  4. 灰度图像--图像增强 双边滤波 Bilateral Filtering

    学习DIP第31天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...

  5. CSS 中蒙版相关设置二三事

    写 蒙版 时会使用透明度,第一反应会使用 opacity 但这个会使子元素继承,蒙版内还有内容会被影响,从而会设置 background 属性的 rgba 值. 需要注意的是 rgba 和 gba 颜 ...

  6. BZOJ 5267 特工 (类FWT)

    题意 题解 从大到小枚举\(l\), 把一个序列从\(2^{l+1}\)分成两个独立的\(2^l\),去除两半的影响. 设去除前的序列为\(b\), 去除后序列为\(b'\) 则有\(b_{2^{l+ ...

  7. sql注入的基本小知识

    load_fie('') into outfile '' into dumpfile('') 堆叠注入 ;insert into liunx密码读取 /etc/passwd /etc/shadow W ...

  8. [集训队作业2018]蜀道难——TopTree+贪心+树链剖分+链分治+树形DP

    题目链接: [集训队作业2018]蜀道难 题目大意:给出一棵$n$个节点的树,要求给每个点赋一个$1\sim n$之内的权值使所有点的权值是$1\sim n$的一个排列,定义一条边的权值为两端点权值差 ...

  9. DRL Hands-on book

    代码:https://github.com/PacktPublishing/Deep-Reinforcement-Learning-Hands-On Chapter 1 What is Reinfor ...

  10. 08.青蛙跳台阶 Java

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 思路 暴力枚举(自顶向下递归): 若台阶数小于等于0,返回0: 若台阶 ...