Django线上部署系统环搭建
本文大致分为:系统环境准备、Python3安装配置、Virtualenv基本使用 、git基本使用 四部分。
ps: 也可使用virtualenvwrapper代替Virtualenv
系统环境准备:
CentOS6.5
自带Python2.6.6,我们需要编译安装Python3(本文档安装的是Python3.6.1)
建议将yum源配置成阿里的yum源,参考链接:http://blog.csdn.net/chavo0/article/details/51939362
为了调试方便关闭防火墙和httpd(视频教程里环境可以这么搞,生产环境请慎用!)
# service iptables stop # service httpd stop
Python3安装配置:
为了防止安装Python3之后出现以下错误:
ModuleNotFoundError: No module named ‘_sqlite3‘
我们需要先安装sqlite-devel:
# yum -y install sqlite-devel
因为我们要编译安装 Python3,所以要提前安装编译工具及库文件
# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
下载Python3
https://www.python.org/downloads/
# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
安装python3
我个人习惯安装在/usr/local/python3
创建目录:
# mkdir /usr/local/python3
解压下载好的Python-3.x.x.tgz包(具体包名因你下载的Python具体版本不同而不同,如:我下载的是Python3.6.1.那我这里就是Python-3.6.1.tgz)
# tar -zxvf Python-3.6.1.tgz
进入解压后的目录,编译安装。
# cd Python-3.6.1 # ./configure --prefix=/usr/local/python3 # make # make install
建立python3的软链
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
并将/usr/local/python3/bin加入PATH
# vim ~/.bash_profile
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/local/python3/bin export PATH
按ESC,输入:wq回车退出。
修改完记得执行下面的命令,让上一步的修改生效:
# source ~/.bash_profile
检查Python3及pip3是否正常可用:
# python3 -V Python 3.6.1 # pip3 -V pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)
virtualenv安装和使用
此处因为我想要将virtualenv安装到Python3的环境下,所以使用的是pip3 install virtualenv,如果你想安装到Python2,请执行pip install virtualenv
安装 virtualenv:
# pip3 install virtualenv Collecting virtualenv Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB) 100% |################################| 1.8MB 527kB/s Installing collected packages: virtualenv Successfully installed virtualenv-15.1.0
创建一个目录(/usr/local/envs)用于存放自己的虚拟环境:
# mkdir envs
创建虚拟环境(此处env_test是你的虚拟环境名):
# cd envs # virtualenv env_test
启动虚拟环境(注意启用虚拟环境后虚拟环境名会出现在最前面):
# cd env_test # source bin/activate (env_test)#
在虚拟环境中pip安装各种第三方包了,比如安装django:
(env_test)# pip install django
pip的常用命令(记得补充以后补充):
查看当前虚拟环境安装的第三方包信息:
(env_test)# pip freeze
将当前虚拟环境安装的第三包信息导出到文件(当前目录下的requirements.txt文件):
(env_test)# pip freeze > requirements.txt
批量安装requirements.txt文件中的第三方包:
(env_test)# pip install -r requirements.txt
git基本使用:
安装git:
# yum install git
从github拉代码到本地服务器(这里以我的Django教程的代码为例):
# git clone http://github.com/xxxxx.html
从远端仓库拉取最新的代码(在本地项目目录下执行):
# git pull
创建该项目对应的虚拟环境(django_test_env),位置随意,一般与项目文件同级或者在项目内部:
我这里是在trydjango110项目内新建一个django_test_env的环境
# cd django_test_env # virtualenv django_test_env
批量安装所需扩展包:
# source django_test_env/bin/active (django_test_env)# pip install -r requirements.txt