部署环境
CentOS 7.1 64bit
Python 3.6.2
项目准备
首先需要把自己本地的项目放到服务器上面来,我使用的是 Github 克隆项目,这种从代码库克隆的方式是比较推荐的,因为可以让服务器上面的项目保持跟代码仓库中同步。首先安装git
yum install git
接着新建项目文件存放目录webapps/project
mkdir -p /webapps/project
进入目录并克隆远程仓库代码
cd /webapps/project
git clone gihub项目地址 myproject
上面这句 git 的命令是意思是将 github上的项目克隆到本地并命名为 myproject,当然,项目的名称你可以按照自己的喜欢去命名。
为了保证公网访问能成功,还要开放服务器80端口,本文中服务器为CentOS7.1,执行如下命令开放80端口(已开放的可以忽略这一步)
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
查看服务器端口开放情况
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh http
ports: 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
可以看到80端口已开放。
部署过程
1.创建虚拟环境
虚拟环境的创建使用Virtualenv工具,它可以在系统中创建一个独立的Python环境,多个应用之间彼此不受影响,这样不同的应用使用的依赖库就不会相互冲突。安装虚拟环境之前需要用到pip这个包管理工具.
编译安装python3
如果你使用的是sqlite数据库,安装python3前先执行,接着执行下面的安装命令
yum install sqlite-devel
这样保证你在运行项目的时候不会报no model named sqlite3
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
解压
tar -xvJf Python-3.6.2.tar.xz
切换进入
cd Python-3.6.2
编译安装
./configure prefix=/usr/local/python3
make && make install
安装完毕,/usr/local/目录下就会有python3了
将python3加入环境变量
export PATH=$PATH:/usr/local/Python3.6/bin
执行python3 ,出现如下内容表示安装成功
[root@mail ~]# python3
Python 3.6.2 (default, Jul 13 2018, 08:57:30)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
安装pip3
[root@mail Python-3.6.2]# wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=