云资源管理系统-项目部署
大家好,我是秋意零。
今天分享个人项目同时也是个人毕设项目,云平台资源管理系统。该系统具备对OpenStack最基本资源的生命周期管理,如:云主机、云盘、镜像、网络。
该篇主要介绍,项目在Linux系统上怎么Run起来。
PS:个人项目部署遇到的问题,同时记录在了博客中,地址如下。
项目介绍 | Gitee开源地址:https://gitee.com/yjcadmin/cloud-connect/tree/master
项目部署遇到的问题:Django项目上线-报错汇总_秋意零 (qiuyl.com)
本地环境(可忽略)
导出第三方模块
pip freeze > requirements.txt
导出数据库
PyCharm运行
配置虚拟环境,参考这篇:本地Django项目切换使用Python虚拟环境
下载代码后,修改配置,路径为home/utils/
:
项目介绍 | Gitee开源地址:https://gitee.com/yjcadmin/cloud-connect/tree/master
keystone.py:该文件定义了OpenStack接口地址信息,对应接口和IP需要修改为自己的信息
openstack.py:该文件定义了数据库配置信息和OpenStack节点信息,对应信息需要修改为自己的
安装依赖:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
Linux系统
环境准备
安装MySQL 5.7数据库(可容器启动)
安装Python3 (这里使用3.7.9)
1)运行Nginx
docker run -dit --name nginx-1 -v ~/nginx/etc:/etc/nginx -p 80:80 nginx
2)运行MySQL
OpenStack和项目数据库信息配置:
CloudConnect/home/utils/openstack.py
docker run -dit --name mysql5.7 \
-v ~/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=000000 \
-p 3306:3306 \
mysql:5.7
# 导入数据库
$ docker cp cloudconnect.sql mysql5.7:/tmp
$ mysql -uroot -p000000
mysql> create database cloudconnect;
mysql> use cloudconnect
mysql> source /tmp/cloudconnect.sql;
mysql> show tables;
+------------------------+
| Tables_in_cloudconnect |
+------------------------+
| process_subnet |
| user |
+------------------------+
mysql> select * from user;
+----+--------+----------+----------+
| id | name | password | describe |
+----+--------+----------+----------+
| 1 | admin | password | NULL |
| 2 | qyl | 000000 | NULL |
| 3 | root | rr | NULL |
| 4 | tt | 11 | NULL |
| 5 | ad | ad | NULL |
| 6 | dd | dd | NULL |
+----+--------+----------+----------+
mysql> exit
# $ mysqldump -uroot -p000000 cloudconnect < /tmp/cloudconnect.sql
3)安装Python 3.7.9
Python官网下载地址(Linux版本):Python 源代码版本
https://www.python.org/downloads/source/
yum install -y wget
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
tar -xf Python-3.7.9.tgz
vim Python-3.7.9/Modules/Setup.dist
vim Python-3.7.9/Modules/Setup.dist
去除图中的5行注释
# 编译安装Python
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 libffi-devel gcc
# 编译安装sqlite(3.36.0版本)
wget http://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
tar -zxvf sqlite-autoconf-3360000.tar.gz
cd sqlite-autoconf-3360000
./configure --prefix=/usr/local/sqlite3
make && make install
# 编译安装Python,并启用编译安装好的sqlite3
cd /root/Python-3.7.9
LD_RUN_PATH=/usr/local/sqlite3/lib ./configure --prefix=/usr/local/python3.7 LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include"
LD_RUN_PATH=/usr/local/sqlite3/lib make
LD_RUN_PATH=/usr/local/sqlite3/lib sudo make install
# 配置环境变量
$ vim /etc/profile
export PYTHON_HOME=/usr/local/python3.7
export PATH=$PYTHON_HOME/bin:$PATH
$ source /etc/profile
# 验证sqlite版本
$ python3
>>> import sqlite3
>>> sqlite3.sqlite_version
# 验证
$ python3 -V
Python 3.7.9
$ pip3 -V
pip 20.1.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
4)Git 拉取代码
yum install -y git
git clone https://gitee.com/yjcadmin/cloud-connect.git
5)创建Python虚拟环境
# 安装虚拟环境的第三方包 virtualenv
pip3 install virtualenv
# 创建虚拟环境(虚拟环境一般放在项目根目录下)
virtualenv qiuyl_cloud
# 激活虚拟环境,并安装Python第三方依赖包
[root@node03 CloudConnect]# source qiuyl_cloud/bin/activate
(qiuyl_cloud) [root@node03 CloudConnect]# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 退出虚拟环境
deactivate
6)启动项目
用户密码:admin/password
# 启动项目
(qiuyl_cloud) [root@node03 CloudConnect]# pip install urllib3==1.26.15
(qiuyl_cloud) [root@node03 CloudConnect]# nohup python manage.py runserver 0.0.0.0:8000 > cloud.log &