云资源管理系统-项目部署

云资源管理系统-项目部署

大家好,我是秋意零。

今天分享个人项目同时也是个人毕设项目,云平台资源管理系统。该系统具备对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 &

End

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/735138.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea2022激活

下载激活脚本 解压后&#xff0c;打开文件夹如下&#xff1a;ja-netfilter.jar 为激活补丁&#xff1a; 复制补丁所在的整个文件夹到硬盘某个位置 将 ja-netfilter补丁所在的整个文件夹移动到电脑上某个位置&#xff0c;我是放到了 D 盘下&#xff1a; &#xff08;路径中不…

【职场人】职场故事:与邀功精的共舞

在我的职业生涯中&#xff0c;我遇到过一位特别引人注目的同事&#xff0c;我们都叫他李经理。他的工作能力并不差&#xff0c;但他有一个习惯&#xff0c;那就是喜欢邀功。他的这种习惯&#xff0c;不仅让我印象深刻&#xff0c;也让我在合作中学会了不少东西。 恶心的四件事 …

包含网关的概念及案例演示

包容网关 知识点讲解 包容网关可以看作排他网关和并行网关的结合体。与排他网一样&#xff0c;可以在外出顺序流上定义条件&#xff0c;但与排他网关不同的是&#xff0c; 进行决策判读时&#xff0c;包容网关所有条件为true的后继分支都会被依次执行。如果所有分支条件都为fa…

【mysql】建库

通过命令建库&#xff1a; CREATE DATABASE database_name; 如果是用Workbench&#xff1a;

QuantML-Qlib Model | Kansformer: KAN+Transformer时序模型用于股票收益率预测

QuantML-Qlib Model | Kansformer&#xff1a; KANTransformer时序模型用于股票收益率预测 原创 QuantML QuantML 2024-06-18 20:57 上海 Content 之前公众号介绍了几篇KAN的文章&#xff0c;也做过KAN相关的模型&#xff1a; What KAN I say&#xff1f;KAN代码全解析 Qu…

android——Spinner下拉列表案例详解

使用案例 效果图&#xff1a; ![](https://img-blog.csdnimg.cn/20190327125727253.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0​ L3FxXzQwMjA1MTE2,size_16,color_FFFFFF,t_70) 代码实现&#xff1a; 下拉列…

Python中常见图形绘制

1、背景介绍 在点云三维重建中&#xff0c;常涉及到常见几何图形绘制&#xff0c;如直线、多边形、圆形、正方形、长方形等。因此&#xff0c;本次博客结合matplotlib库&#xff0c;介绍常见几何图形的绘制。 2、几何图形绘制 2.1 线段绘制 线段是一种常见的几何图形&#xff…

Pip换源秘籍:让你的Python包飞行起来!

在Python的包管理中&#xff0c;Pip是最重要的工具之一。它允许开发者从Python Package Index (PyPI)安装包&#xff0c;但有时由于网络问题或服务器负载过高&#xff0c;直接从PyPI安装包可能会非常慢。这时&#xff0c;更换Pip源到一个更快的镜像站点是一个常见的解决方案。本…

人工智能在数字病理切片虚拟染色以及染色标准化领域的研究进展|顶刊速递·24-06-23

小罗碎碎念 本期推文主题&#xff1a;人工智能在数字病理切片虚拟染色以及染色标准化领域的研究进展 这一期的推文是我发自内心觉得为数不多&#xff0c;特别宝贵的一篇推文&#xff0c;原因很简单——可参考的文献相对较少&方向非常具有研究意义&现在不卷。 数字病理…

洛谷P8502题解

[problem] \color{blue}{\texttt{[problem]}} [problem] [Solution] \color{blue}{\texttt{[Solution]}} [Solution] 这题最恶心的地方是卡空间。 我们先考虑不卡空间时怎么做。 直接并不好做&#xff0c;我们考虑正难则反&#xff0c;即利用容斥原理。答案应为从 a a a 没…

PostgreSQL如何定义缓冲区管理器?

目录 一、PostgreSQL是什么二、缓冲区管理器介绍三、缓冲区管理器的应用场景四、如何定义缓冲区管理器 一、PostgreSQL是什么 PostgreSQL是一种高级的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它以其稳定性、可靠性和高度可扩展性而闻名。它最初由加…

职升网:注安工程师适合用什么样的答题方法?

一、熟悉题型与答题方法&#xff1a; 不同科目和题型有不同的答题技巧。例如&#xff0c;选择题可采用排除法、关键词推理法及对比分析法等方式答题&#xff1b;案例分析题则需要全面考虑&#xff0c;逐条举例。 二、合理规划时间&#xff1a; 在考试时&#xff0c;要合理规…

ICP、ISP及IAP烧录介绍

文章目录 不同的程序下载方式一、ICP:In-Circuit Programming二、ISP:In-System Programming三、IAP:In-Application ProgrammingIAP方案设计不同的程序下载方式 目前,单片机的程序烧录方式可以分为三种:ICP、ISP、IAP。 ICP:In Circuit Programing,在电路编程; ISP:…

【辨析】快速了解RBF神经网络与BP神经网络的区别

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、RBF与BP模型简介1.1.模型结构1.2.模型表达式 二、RBF神经网络与BP神经网络的对比2.1 RBF与BP的激活函数对比2.2 RBF与BP的思想对比 三、RBF神经网络与BP神经网络的训练方法对比2.1.BP神经网络的训练2.2.RBF神…

ultralytics官方更新 | 添加YOLOv10到ultralytics

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a;《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容&#xff0c;内含各种Head检测头、损失函数Loss、…

MyBatis拦截器(Interceptor)的理解与实践

文章目录 1. 什么是MyBatis拦截器&#xff1f;2. 拦截器的基本原理3. 编写自定义拦截器3.1 示例&#xff1a;实现SQL执行时间统计拦截器3.2 配置拦截器 4. 实战应用场景5. 总结 &#x1f389;欢迎来到SpringBoot框架学习专栏~ ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博…

springboot学习01-[springboot介绍、配置文件介绍、自动配置读取原理]

springboot介绍、配置文件介绍、自动配置读取原理 springBoot学习代码说明为什么java -jar springJar包后项目就可以启动 配置文件介绍配置文件加载顺序其他约定配置文件加载顺序profile配置文件加载配置文件绑定类属性通过Value的方式进行属性注入通过ConfigurationProperties…

python爬虫学习笔记一(基本概念urllib基础)

学习资料&#xff1a;尚硅谷_爬虫 学习环境: pycharm 一.爬虫基本概念 爬虫定义 > 解释1&#xff1a;通过程序&#xff0c;根据URL进行爬取网页&#xff0c;获取有用信息 > 解释2&#xff1a;使用程序模拟浏览器&#xff0c;向服务器发送请求&#xff0c;获取相应信息…

如何设置Excel单元格下拉列表

如何设置Excel单元格下拉列表 在Excel中设置单元格下拉列表可以提高数据输入的准确性和效率。以下是创建下拉列表的步骤&#xff1a; 使用数据验证设置下拉列表&#xff1a; 1. 选择单元格&#xff1a; 选择你想要设置下拉列表的单元格或单元格区域。 2. 打开数据验证&…

Emacs之实现目录替换(一百四十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…