文章目录
前言
本篇博客教程适用于中等级别部署开源会议室小程序的同学。
一、项目整体
二、前要准备
- 我这里通过Finalshell远程登录服务器
安装Python3.7环境
- centos默认自带了2.7版本的Python
- 可参考博客
# 安装编译相关工具
yum -y groupinstall "Development tools"
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
yum install libffi-devel -y
# 切换到用户目录下下载python
——————————————————已经创建过用户可以直接跳过这步——————————————————
# 刚刚重装了系统 是没有用户的,这里重新创建一个用户并赋予相关权限
# 博客参考(https://www.cnblogs.com/vania/p/11603748.html)
# 创建用户lw (用户名可用自己取)
adduser lw
# 用户密码
passwd lw
..........
..........
# 查看sudo权限
ls -l /etc/sudoers
# 添加权限
chmod -v u+w /etc/sudoers
# 编辑sudoers文件
vim /etc/sudoers
# 把lw用户和权限添加进行 这里涉及vim相关命令,自己去索引学习最基本的命令
# a 插入
# 在root ALL=(ALL) ALL插入
lw (你的用户名) ALL=(ALL) PASSWD:ALL
# esc退出 输入:
# 输入 wq
# 回收写的权限
chmod -v u-w /etc/sudoers
# 普通和root权限的切换
# su 用户名
# su
# 进入到home/lw 目录下
cd /home/lw
# 下载python安装包
sudo wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
# 解压
sudo tar -xvJf Python-3.7.0.tar.xz
# 编译安装
sudo mkdir /usr/local/python3
sudo cd Python-3.7.0
sudo ./Python-3.7.0/configure --prefix=/usr/local/python3
# 这里我切换了root权限进行操作 sudo会编译失败
su
make && make install
# 创建软链接 现在是root权限下
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
# 升级pip
pip install --upgrade pip
# 验证Python环境是否安装成功
python3 -V
# 打印出python号版本即安装成功
pip3 -V
# pip 10.0.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
- 更新源文件
# 此时是root权限下 没有的话前面+sudo
yum update
安装mysql数据库
# root权限下
# 下载MySQL
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 安装mysql服务器和客户端
yum install mysql-server
yum install mysql-devel
# 启动mysql服务
systemctl start mysqld
# 首次登录
mysql -u root
# 设置数据库密码(这里密码你自己设置,但要和后面配置文件里密码一样)
set password for 'root'@'localhost'=password('123456');
# CTRL+C退出
# 设置mysql编码
vi /etc/my.cnf
# 输入 a
# 最后一行加入
default-character-set =utf8
# 输入esc
# :wq
# 普通方式再次登录mysql
mysql -uroot -p
# 输入密码
# 创建一个为meeting的数据库名
CREATE SCHEMA `meeting` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;
# 设置mysql可以远程登录
grant all privileges on *.* to root@'%'identified by '123456';
# CTRL+C 退出
安装redis
# 下载redis
wget http://download.redis.io/releases/redis-5.0.9.tar.gz
# 解压 redis
tar -zxf redis-5.0.9.tar.gz
# 进入redis文件夹中
cd redis-5.0.9
# 编译
make
# 安装并安装到指定目录
make install PREFIX=/usr/local/redis
# 启动服务
cd /usr/local/redis/bin/
./redis-server
# CTRL+C退出
# 后台启动服务设置
# /home/lw/redis-5.0.9/redis.conf 是下载redis文件路径
cp /home/lw/redis-5.0.9/redis.conf /usr/local/redis/bin/
# 修改相关配置 把 daemonize no 改为 daemonize yes
vi redis.conf
# 启动服务
./redis-server redis.conf
安装微信开发工具(windows)
- 可自行索引安装“微信开发者工具”
- 自行索引“如何注册微信小程序”
- 自行索引“如何获取小程序AppID、AppSecret”
Github或Gitee注册账号
- 自行索引"如何注册Gitee"
- 这里推荐Gitee,考虑Github在外网,访问经常会掉,Gitee是Github“中国版”
三、正式部署
- 拉取代码
git clone https://gitee.com/007gzs/meeting.git
- 创建python虚拟环境并激活
# 安装python-virtualenv
yum install python-virtualenv
# cd meeting目录下
cd meeting
# 创建meetingroom虚拟环境
virtualenv meetingrooom
# 启动虚拟环境
# 当前目录在meeting下
cd meetingroom
# 激活虚拟环境
source bin/activate
- 进入到server目录下,安装相关依赖
# 返回上级目录
cd ../
# 进入server目录下
cd server
# 升级pip
pip install --upgrade pip
# 这里可能会出现错误
# 安装项目所需依赖
pip3 install -r requirements.txt
- 修改相关配置
# 进入到server/meeting目录下
# 修改文件名字
mv local_settings.py.default local_settings.py
# 修改配置
vi local_settings.py
# 输入 a
# 更改数据库密码
MYSQL_PASSWORD = 'XXXXX'
# 添加小程序id和密钥
WECHAT_APPID = 'XXXXX'
WECHAT_APPSECRET = 'XXXX'
# 删除通知管理员相关配置
# 输入esc
# :wq
- 数据库迁移并启动服务
# 返回上一级目录下sever
cd ../
python3 manage.py makemigrations
python3 manage.py migrate
# 创建superuser
python manage.py createsuperuser
# 输入用户名
# 输入邮箱
# 输入密码
# .......
# 启动服务
python3 manage.py runserver 0.0.0.0:8002
- 运行日志出现support not enabled
# 安装缺少的依赖
pip3 install -U Twisted[tls,http2]
# 再次启动服务
# 这里的还会涉及到服务器防火墙设置
python3 manage.py runserver 0.0.0.0:8002
-
Windows打开微信开发工具
-
成功展示
-
替换你自己的公网ip地址,输入用户密码即可
http://119.29.146.218:8002/sysadmin/login/?next=/sysadmin/
四、写在最后
- 你可能根据教程部署成功了或者部署失败。
- 部署成功的同学,回想一下这个过程,是否都是步步成功,还是有不少的插曲,入门级别部署文档可以算很细了,可以对比下原始文档(代码仓库readme文件)。
- 部署失败的同学,休息下,换换心情,再来部署,根据报错进行索引解决,你终会部署成功。