• 部署新的Django项目———〇一 .前期准备


    在前面我们已经了解了如何利用Django框架做一个小项目,但是一直是通过命令行来实现项目的运行的,显然这样不符合生产环境使用要求。那么下面这一阶段我们就来简单的了解一下如何部署Django项目

    整体思路

     网上的方法用的最多的就是用uwsgi和nginx来实现项目的部署,这里也用这个方式实现。

    环境准备

     为了模拟真实的使用环境,我打算把项目部署在腾讯的云服务器上。

    系统和python的版本

     python为3.6.8,是现装的,由于这个版本的Python用的比较多,就直接指定用这个版本的安装了

    [root@VM-0-13-centos myfiles]# yum install python36

    系统发行版为centos7.5

    安装django

    django和前面使用的版本一样,在安装完python3以后可以直接通过pip3安装

    [root@VM-0-13-centos myfiles]# pip3 install django==2.0.13

    创建新的项目

    安装好django以后可以创建一个新的项目来备后面测试使用,注意项目的路径,我是在家目录下建立了一个code的文件夹,用来放代码

     直接在目录下创建一个新的项目

    [root@VM-0-13-centos code]# django-admin startproject blog

     要通过ip访问这个项目,要先对配置文件settings.py文件进行修改,先用*来允许所有的IP地址访问(修改ALLOW_HOSTS列表)

    ALLOWED_HOSTS = ['*']

    然后运行程序,指定端口8000

    [root@VM-0-13-centos blog]# python3 manage.py runserver 0.0.0.0:8000

    这里要注意,运行前应该检查看看8000端口是否已经开启,如果没问题的话,在本机可以访问一下ip+端口号

     红色字表示我们还未对数据库进行迁移,但并不影响程序的运行,

     这样就准备好了Django的项目

    uwsgi的准备

     uwsgi的用途我们后面再说,这里先把他准备好

    安装

    uwsgi可以通过pip直接安装

    [root@VM-0-13-centos blog]# pip3 install uwsgi

    但是很多时候下载完成后在安装时会报错

     提示信息是没有<Python.h>文件,这是因为我们我们没有安装python开发包,通过yum安装一下

    [root@VM-0-13-centos blog]# yum install python36-devel

    这里一定要注意,开发包的版本要和python的版本一致

    重新安装uwsgi就好了

    uwsgi的测试

    下面新建一个Python文件来测试uwsgi

    ##file name:uwsgi_test.py
    def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return [b"Hello World"]

    就是一个简单的函数,用来发送一个字符串给前端页面

    然后运行下面的代码

    [root@VM-0-13-centos code]# uwsgi --http :9090 --wsgi-file uwsgi_test.py

    同样在运行前应该检查端口的开启状态,这里我们指定的是9090端口,然后在本地访问这个地址

     前端显示了我们通过函数发送到字符串Hello World,说明uwsgi的状态也是OK的。

    nginx的准备

     nginx的准备稍微麻烦一些,我一步步来

    安装nginx

    nginx的安装有直接通过yum安装,也可以下载源代码直接自己安装,我在Ubuntu上也按装过,觉得方法都差不多,yum安装时会解决所有的依赖问题,但是装的路径比较分散,这里建议使用源文件安装

    下载文件,这里直接下载1.16.1版本并解压

    [root@VM-0-13-centos myfiles]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
    [root@VM-0-13-centos myfiles]# tar -xzvf nginx-1.16.1.tar.gz 

    我们把nginx安装在/opt/nginx路径下,安装的时候指定了两个附加的功能,后期再说

    [root@VM-0-13-centos nginx-1.16.1]# ./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module

     安装过程中首先报错,提示需要PCRE libiary

     yum安装,注意安装的还是开发包

    [root@VM-0-13-centos nginx-1.16.1]# yum install pcre-devel

    继续执行配置文件,又出现错误

     没有OpenSSL,继续yum安装

    [root@VM-0-13-centos nginx-1.16.1]# yum install openssl-devel

    配置完成以后,可以通过makefile进行安装

    [root@VM-0-13-centos nginx-1.16.1]# make && make install

    跳转到我们指定的安装路径下,运行nginx,也可以用绝对路径运行

    [root@VM-0-13-centos /]# /opt/nginx/sbin/nginx 

    可以看一下nginx默认的配置文件,监听的端口是80,用浏览器访问一下,就能打开nginx的默认引导页面

     说明nginx也已经正常安装。

  • 相关阅读:
    Java读写配置文件prop.properties
    java中int转String 固定位数 不足补零
    plantix插件工具,eclipse工具
    MongoDB API java的使用
    CSS定位细节
    Mysql 基于BinaryLog的复制
    Mysql之复制服务
    Linux 中文乱码问题解决
    Maven中手动引用第三方jar包
    innodb之超时参数配置
  • 原文地址:https://www.cnblogs.com/yinsedeyinse/p/14107976.html
Copyright © 2020-2023  润新知