1.1. 更新系统软件包
yum update -y
1.2. 安装软件管理包和可能使用的依赖
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
1.3. 下载Pyhton3到/usr/local 目录
cd /usr/local
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
解压
tar -zxvf Python-3.6.6.tgz
进入 Python-3.6.6路径
cd Python-3.6.6
编译安装到指定路径
./configure --prefix=/usr/local/python3
注意:/usr/local/python3 路径可以自己指定,自己记着就行,下边要用到。
安装python3
make
make install
安装完成之后,建立软链接——添加变量,方便在终端中直接使用python3
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
Python3安装完成之后pip3也一块安装完成,不需要再单独安装
同样给pip3建立软链接
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
1.4. 查看Python3和pip3安装情况
python3
pip3 -V
1.5. 安装virtualenv ,建议大家都安装一个virtualenv,方便不同版本项目管理。
pip3 install virtualenv
建立软链接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
安装成功在根目录下建立两个文件夹,主要用于存放env和网站文件的。(个人习惯,其它人可根据自己的实际情况处理)
mkdir -p /data/env
mkdir -p /data/wwwroot
1.6. 切换到/data/env/下,创建指定版本的虚拟环境。
cd /data/env
virtualenv --python=/usr/bin/python3 pyweb
然后进入/data/env/pyweb/bin
cd /data/env/pyweb/bin
启动虚拟环境:
source activate
出现(pyweb)
,说明是成功进入虚拟环境
1.7. 虚拟环境里用pip3安装django和uwsgi
pip3 install django (如果用于生产的话,则需要指定安装和你项目相同的版本)
pip3 install uwsgi
留意:uwsgi要安装两次,先在系统里安装一次,然后进入对应的虚拟环境安装一次。
给uwsgi建立软链接,方便使用。
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
1.8. 安装PyMySQL模块
pip3 install PyMySQL
2.1解决跨域问题
pip3 install django-cors-headers
INSTALLED_APPS = [
...
'corsheaders',
...
]
MIDDLEWARE_CLASSES = (
...
'corsheaders.middleware.CorsMiddleware', # 注意顺序
'django.middleware.common.CommonMiddleware', # 注意顺序
...
)
# 跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
# 笔者注释了以下三行,否则报错
# CORS_ORIGIN_WHITELIST = (
# '*'
# )
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
注意:
① cors-headers的中间件CorsMiddleware在注册时必须放在django-common中间件的前一个。
② 笔者注释了以下代码,否则报错。
2.2. 启动项目
python3 manage.py runserver 0.0.0.0:9090
参考:项目实战——本地Django项目(后端)部署至腾讯云服务器/CentOS 7 - 简书 (jianshu.com)