为你的服务器安装系统
我这里装的是 CentOS 7.2
, 没有带其他开发环境
配置开发环境
因为要部署的是 Django
项目, 基于 Python3
;
另一方面, 代码是在 windows
开发然后上传到 github
, 所以 git
也是必不可少
安装git
1 | yum install git |
安装python
好像没有找到直接安装的方法, 一般的方法是下载源码自己编译, 所以就按这个来吧
安装编译库
1 | yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readlin e-devel tk-devel gcc make libffi-devel |
安装wget
先添加 epel
源
1 | yum -y install epel-release |
然后就可以安装 pip
了
1 | yum install python-pip |
用 pip
装 wget
1 | pip install --upgrade pip |
下载python3.7.3源码
1 | wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz |
解压
1 | tar -zxvf Python-3.7.3.tgz |
编译
要先进入解压后的目录
1 | ./configure prefix=/usr/local/python3 |
添加软连接
1 | #将原来的链接备份 |
更改yum配置
因为yum是用py2运行的, 不更改配置会导致yum运行不了
1 | vi /usr/bin/yum |
安装Django
1 | pip3.7 install Django |
从git拉取代码
1 | git clone ... |
准备运行服务器的时候遇到问题
Django 2.2
对 SQLite
的最低版本支持改到了 3.8.3
, 而 CentOS 7
默认是 3.7.17
, 所以要更新一下, 可以参考这个博客
在后台运行代码
因为是 ssh
连接的, 所以直接运行的话, 退出 ssh
连接, 进程就被kill了, 在这里用 setsid
方法
1 | setsid python manage.py runserver |
要更新代码的话
用 ps -ef
可以看到进程id, 用 kill -9 {id}
结束进程, 然后拉取代码, 重新run起来就行了