配置环境:CentOS7

1.安装python3环境

默认的CentOS7系统中,会安装python2.7的版本,由于Django2.0并不支持python2.7的版本,所以我们需要自己在系统中安装python3的版本。

① 安装wget工具,用于在网上下载文件

这样代表,我的系统中,已经安装了wget,如果没有,会自动下载安装

② 安装gcc编译环境,安装python3 所需要的编译环境

当然,我的系统中也安装了gcc。

如果没有安装,会自动下载安装,之前的命令就是下载并安装的命令

③ 安装python3 使用的依赖组件

执行后,会自动下载安装包/升级包,安装后,会让我们输入y、d或者n,去继续下一步,y就代表yes,代表往下面继续执行。

出现如上图的内容之后,代表我们的依赖项安装/升级成功

这里多给大家带一个linux的知识点。

命令 echo $?  这个命令是什么意思呢?意思就是打印上一个命令执行的结果,结果为0,则代表无异常和错误,如果不为0,则代表执行有异常或者错误存在。需要检查。

④ 下载python

首先,我们需要知道我们安装的python版本。

我们在建立项目,开发调试的时候,选择的python版本就至关重要。

这里的python版本,要与我们开发所用的版本相对应,如果无法对应到版本,那么至少在大版本上也要对应。

例如,我现在的开发调试python版本,用的是3.7.0b4

那么,我的python版本,只能选择python3.7

python版本的ftp下载地址:https://www.python.org/ftp/python/

选择好我们所需要安装的python版本

复制出来,python版本所对应的下载地址为:https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

在我们的shell中,敲入安装命令如下图。这里要注意,wget后面的下载地址,必须要加引号,否则会出错。

这样,python就已经开始在下载了。

当出现如图提示时,则代表python包下载完毕。

⑤ 安装python

这里需要分几个步骤,首先,我们需要知道我们的文件下载到哪里了。

按照名称查找所在位置。  ./代表了当前文件夹,所以我们再查看一下当前目录的路径,和当前目录下的文件。

移动压缩文件到想要安装的目录  mv 源路径+文件名 目标路径

这样,就移动成功了。

这里为什么要移动呢。因为我们安装最好不要安装到root里,当然你不移动也没有任何问题。

下面,我们就可以解压,然后编译了。

在文件所在目录下,输入解压命令。

查看解压后的路径

这个文件夹是我们需要的开发环境,也包含了所需要的很多组件。

然后我们需要把这个环境编译到CentOS 7 系统中,我们才可以正常使用这个sdk。

进入Python目录,创建安装路径,编译到指定目录,依次执行命令 ./configure  make   make install

在执行./configure的时候,如果你登陆的用户不是root,还需要加上一个sudo   sudo ./configure

这里记得每一次执行命令之后,都要去查看一下上一个命令执行是否有异常或者错误。

果不其然,执行出现了一个错误。

出现错误不要惊慌,这里的错误告诉我找不到这个模型,应该是缺少什么东西。

百度有很多帖子给了我们回答。按照提示操作就可以了。

执行安装缺少的模块。

重新编译

如上图,我们的编译就编译成功了。

现在可以来检测一下sdk是否正常安装成功了。

这里的检测,跟我们在其他系统上安装python是一样的,就是输入系统执行python3,查看结果。

结果

那么,我们就来配一下环境变量。

打开环境变量所在文件

新增内容如下图红圈,编辑后保存环境变量

重新执行刚修改的初始化文件

在重新检查一下,发现我们的python3可以使用了。

到这里位置,就代表了我们的基础环境已经搭建完毕了,剩下的就是来部署我们的django项目所需要的内容。

⑥ 部署uWSGI服务器

uWSGI 是一个web服务器,它实现了WSGI、uWSGI和HTTP等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

WSGI是一种web服务器网管接口,它是一个web服务器(如nginx服务器)与web应用(如django框架实现的应用)通信的一种规范。

在部署uWSGI服务器之前,需要在python3中安装相对应的模块。

使用pip安装即可

这里的模块安装,与我们本地搭建环境一致,如果我要使用django项目,那么就需要在pip中安装django。

如果有其他的模块也需要,那么所需要的模块也要安装到pip中,否则我们的项目无法正常运行。

这个时候,我们就可以把我们的整个项目工程文件,添加到服务器指定目录中。

修改项目工程中的setting文件,关闭调试模式,和允许访问地址。

在我们的项目目录下,创建一个ini文件,用来快捷启动uwsgi。

socket 项目读取的地址和端口

chdir 项目目录

module 项目的wsgi 文件

当然还有很多其他的配置,这个可以自行百度了解一下每一个都是代表了什么意思。

⑦ 安装Nginx

关于安装nginx,有很多详细的教程了,就不多赘述。

这里给大家推荐一个链接,大家可以按照链接去查看安装方法

https://www.cnblogs.com/songxingzhu/p/8568432.html

⑧ 添加nginx配置文件

找到nginx.conf所在的文件夹,打开nginx.conf,在后面添加如下内容:

添加后保存文件。

运行命令 nginx -t -c nginx.conf,可以检查配置文件是否正确。

重启nginx

在浏览器中输入我们服务器的地址,和nginx中配置的端口号,就可以直接访问了!


测试开发之Django——No5.Django项目的部署(CentOS7+nginx)的更多相关文章

  1. qt-qml移动开发之在ios上开发和部署app流程简单介绍

    qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因 ...

  2. 测试开发之Django——No1.介绍以及引申

    前言 > 测试行业发展飞速,自动化测试兴起,由此对测试人员的要求与日俱增.随时而来的,就是职能的增加. > 首先需要学习的,就是自动化测试.而由自动化测试引申而来的,就是另外几个新增的岗位 ...

  3. django下进行项目的部署

    -------------------Django下进行对应的服务器配置1.服务器购买 本人在阿里云购买了一个服务器,操作系统为windows server2008/Linux(ubuntu) 2.服 ...

  4. 测试开发之Django——No2.Django的安装以及项目创建

    开发平台:Mac Python版本:3.7 Django版本:2.0.5 一.Django的安装 1.pip安装 输入命令pip install Django==2.0.5 说明:不指定版本,则安装的 ...

  5. 测试开发之Django——No6.Django模板中的标签语言

    模板中的标签语言 1.if/else {% if  %} 标签检查(evaluate)一个变量,如果这个变量为真(即:变量存在,非空,不是布尔值假),系统会显示在{% if  %} 和 {% endi ...

  6. 测试开发之Django——No8.Django中的视图与URL配置

    在Django中,页面内容是靠views function(视图函数)来产生,URL定义在URLconf中. 这是一个纯净项目的url配置文件,他存在的目录,是与setting文件在同一个目录中. u ...

  7. 测试开发之Django——No7.Django模板中的过滤器

    1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值 ...

  8. 测试开发之Django——No4.Django中前端框架的配置与添加

    我们在开发一个web项目的时候,虽然我们不是专业开发,但是我们也想要做出来一个美美的前端页面. 这种时候,百度上铺天盖地的前端框架就是我们的最好选择了. 当然,在网上直接下载的框架,我们是不能直接用的 ...

  9. 测试开发之Django——No3.Django中的试图(views)

    说到views,我们先来说django中执行的一个顺序. 我们打开一个django中配置的页面,之后的执行是有这么几个步骤: 1.系统配置的urls中寻找是否配置了这个地址: 2.如果已经配置了这个地 ...

随机推荐

  1. Code-force 1003 E Tree Constructing

                                                                                                    E. T ...

  2. sudo权限管理

    sudo权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 好久没有更新关于命令的博客了,这也是这周工作,开发问了我一个问题,说caiq这个用户为什么不能用sudo权限,于是百 ...

  3. python自动化运维之路~DAY8

    python自动化运维之路~DAY8 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.线程进程介绍 为了方便我们队线程和进程的理解,我们来画2组图,方便我们对python中的线程 ...

  4. linux中vi的基本操作

    在vi如何查找文字 vi redis.config 在命令模式下 按 / 然后最下方会出现/ 打出你所需要查找的字.n 是代表查找下一个 如何撤销上一步的操作 1,退出编辑操作 按esc键 2,按u ...

  5. JAVA-大白话探索JVM-类加载器(一)

    JVM??? Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.JVM是Java Virtual Machine(Java虚拟机)的缩写,Java程序编译后 ...

  6. u-boot移植(十三)---代码修改---支持文件系统及补丁制作

    一.烧写文件系统 1.1 jffs2烧写 1.下载文件系统:tftp 30000000 fs_mini_mdev.jffs2 2.擦除文件的块:nand erase.part rootfs 3.烧入文 ...

  7. C++中模板的使用

    为什么使用模板: C++重载(overloading),重载函数一般含有不同的参数个数或不同的参数类型.如果使用MAX函数对不同类型的求最大值,就要定义不同的重载函数: int max(int x,i ...

  8. 向GitHub上上传代码(转)

    使用git将项目上传到github(最简单方法)   首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下 ...

  9. js 获取属性名称

    $(function ()        {            myfun();        })        function myfun()        {            var ...

  10. 寻路优化(一)——二维地图上A*启发函数的设计探索

    工作中需要优化A*算法,研究了一天,最后取得了不错的效果.看网上的朋友还没有相关的研究,特此记录一下.有错误欢迎大家批评指正.如需转载请注明出处,http://www.cnblogs.com/Leon ...