CentOS 部署 Django 项目
一、Python3环境
1.安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2.下载并安装Python3
mkdir /usr/local/python3
# 下载并解压包
cd /usr/local/python3
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
tar -xvJf Python-3.7.0.tar.xz
# 编译安装
cd Python-3.7.0
./configure
make && make install
4.备份2.7
which python
mv /usr/bin/python /usr/bin/python_bak
5.创建3.6软连接
ln -s python3.6安装目录下的python3文件 /usr/bin/python
6.修改 配置文件,否则之后yum无法使用
vi /usr/bin/yum
第一行修改为#!/usr/bin/python2.7
vi /usr/libexec/urlgrabber-ext-down
第一行修改为#! /usr/bin/python2.7
7.配置环境变量
PATH=$PATH:$HOME/bin:
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
(此处的环境变量为当前shell的临时变量,在下篇部署时会有详细的为用户配置环境变量的方法)
二、Mysql环境(即MariaDB)
1.yum安装mysql
yum install mariadb-server mariadb-devel
2.启动mysql服务
systemctl start mariadb
3.设置mysql服务自启动
systemctl enable mariadb
4.配置mysql
mysql_secure_installation
Change the root password? [Y/n]
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
6.关闭防火墙
systemctl stop firewalld.service
7.禁止firewall开机启动
systemctl disable firewalld.service
8.关闭iptables
service iptables stop
9.MySQL支持中文字符
vi /etc/mycnf
default-character-set=utf8
三、项目环境
1.安装依赖
pip3 install pymysql==0.9.3 django==2.1.7 django-bootstrap3==11.0.0 django-simple-captcha==0.5.10
四、项目配置
1.创建数据库
mysql -u root -p
# 输入密码
MariaDB [(none)]>create database file_system default charset utf8 collate utf8_general_ci;
(这里之所以要配置default charset是为了之后数据库支持中文字符)
2.执行迁移
项目目录(在manage.py文件所在目录)
python manage.py migrate
3.测试:运行
python manage.py runserver