记录一次腾讯云部署django项目的过程

部署目标

腾讯云服务器上部署和运行django项目

零. 项目准备

  1. 在你项目的根目录编写xml文件,uwsgi配置做准备
    记录一次腾讯云部署django项目的过程
  2. 收集一下静态文件,在项目下执行

python manage.py collectstatic

一. 系统环境准备

centos 7.2

  1. 先更新云服务器

输入命令行:yum update

  1. 安装依赖包

输入命令行:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
输入命令行:yum install libffi-devel -y

二. 默认系统环境查看

输入命令行:python
记录一次腾讯云部署django项目的过程

三. 安装python3(不要卸载python2)

  1. 先自己建立一个文件夹

输入命令行:cd /usr
输入命令行:mkdir mzcfile
记录一次腾讯云部署django项目的过程

  1. 进入文件夹,下载python 安装包

输入命令行:wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
记录一次腾讯云部署django项目的过程

  1. 解压并安装python3

输入命令行:tar -zxvf Python-3.7.2.tgz
输入命令行:cd Python-3.7.2
输入命令行:./configure
输入命令行:make&&make install

完成后,确认一下是否安装成功

输入命令行:python3
记录一次腾讯云部署django项目的过程

  1. 改变系统默认的python命令 和python2 的软连接(变成python 和python3 的软连接)

输入命令行:mv /usr/bin/python /usr/bin/python.bak
输入命令行:ln -s /usr/local/bin/python3.7 /usr/bin/python
记录一次腾讯云部署django项目的过程

  1. 建立的pip命令 和pip3 的软连接

输入命令行:ln -s /usr/local/bin/pip3 /usr/bin/pip
记录一次腾讯云部署django项目的过程

备注:以后系统中使用python命令时,默认是用的python3,使用pip命令时,默认使用的是pip3

四. 安装虚拟机并建立软连接

输入命令行:pip3 install virtualenv
输入命令行:ln -s /usr/local/bin/virtualenv /usr/bin/virtualenv

你可能会遇到这个提示,是告诉你pip版本有点老了,你可以输入下面命令行更新一下就行了

输入命令行:pip install --upgrade pip
记录一次腾讯云部署django项目的过程

五. 在虚拟环境中安装你的django

  1. 进到你之前在usr目录建立的文件夹(或者你可以自己确认一个位置放虚拟项目),比如,我的项目命名为sy,创建这个虚拟机项目

输入命令行:virtualenv sy

  1. 创建完成后,进入到sy中,再进入bin中,执行命令

输入命令行:source activate
记录一次腾讯云部署django项目的过程
这时,你就进入到了你的sy的虚拟项目中,如果你要退出,输入命令
输入命令行:deactivate
如果,你不要这个虚拟项目了,那么就rm -f sy 删除这个文件夹就可以了

  1. 安装django,版本号2.1.8(如果你用的是sqlite,可能会遇到sqlite版本过低的问题,请使用2.1.8版本的django

输入命令行:pip install django==2.1.8

  1. 安装其它django项目需要的第三方插件,比如,我这里需要富文本编辑功能(根据自己的项目确定)

输入命令行:pip install django-ckeditor

六. 安装git

  1. 重新设置yum。你会发现这个时候,你用yum来安装系统软件,已经安装不起了,因为yum需要python2的配置,但我们系统现在默认的是python3,所以,现在需要把yum配置改一下
    记录一次腾讯云部署django项目的过程
  2. 重新修改yum配置(1),修改为 #!/usr/bin/python2.7

输入命令行:vim /usr/bin/yum
记录一次腾讯云部署django项目的过程

  1. 重新修改yum配置(2), 修改为 #!/usr/bin/python2.7

输入命令行:vim /usr/libexec/urlgrabber-ext-down
记录一次腾讯云部署django项目的过程

  1. yum 回来了,现在我们用yum来安装git客户端

输入命令行:yum install git

  1. 将项目文件通过git 到虚拟机的bin目录下自定义的文件夹中(建立一个文件夹,git pull 到该文件夹下),比如,我的项目是projectv20
    记录一次腾讯云部署django项目的过程
    备注:git pull 相关
    (1)git remote add origin https://git.code.tencent.com/xxxxx/xxxxxxxxx.git
    (2)git config --global user.name “xxxxxx”
    (3)git config --global user.email “xxxxxx”
    (4)git pull origin master

七. 安装uwsgi

  1. 在虚拟机中安装一次(在虚拟机外部再安装一次

输入命令行:pip install uwsgi
查看uwsgi 进程的命令可
输入命令行:ps -f | grep uwsgi

  1. 回退到xxx.xml目录下,启动uwsgi( 在虚拟机外部再启动一次

输入命令行:uwsgi -x xxx.xml
如果想终止,输入命令行: pkill -f uwsgi -9

八. 安装nginx(到虚拟机外部安装)

  1. 回到usr下之前下载python的目录,下载安装nginx

输入命令行:wget http://nginx.org/download/nginx-1.13.7.tar.gz
输入命令行:tar -zxvf nginx-1.13.7.tar.gz
输入命令行:cd nginx-1.13.7
输入命令行:./configure
输入命令行:make&&make install

  1. 备份nginx.conf

输入命令行:cd /usr/local/nginx/conf
输入命令行:cp nginx.conf nginx.conf.bak

  1. 修改nginx.conf 为以下内容(参考)
    记录一次腾讯云部署django项目的过程
  2. 启动nginx,在 usr/local/nginx/sbin/

输入命令行:./nginx
如果要停止nginx,用如下命令
输入命令行:./nginx -s stop