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

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

大家好,我是秋意零。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis Pub/Sub Redisson Topic

目录 一、Redis Pub/Sub二、Redisson Topic 一、Redis Pub/Sub Redis Pub/Sub实现了发布/订阅消息传递范式&#xff0c;发送端和订阅端通过channel进行关联。订阅端订阅一个或多个channel&#xff0c;而发送端向指定的channel发送消息。 Redis的Pub/Sub仅支持最多一次at-most-…

【LLM】PISSA:一种高效的微调方法

前言 介绍PISSA前&#xff0c;先简单过一下LLMs微调经常采用的LoRA&#xff08;Low-Rank Adaptation&#xff09;微调的方法&#xff0c;LoRA 假设权重更新的过程中有一个较低的本征秩&#xff0c;对于预训练的权重参数矩阵 W 0 ∈ R d k W_0 ∈ R^{dk} W0​∈Rdk&#xff0c…

Linux_内核缓冲区

目录 1、用户缓冲区概念 2、用户缓冲区刷新策略 3、用户缓冲区的好处 4、内核缓冲区 5、验证内核缓冲区 6、用户缓冲区存放的位置 7、全缓冲 结语 前言&#xff1a; Linux下的内核缓冲区存在于系统中&#xff0c;该缓冲区和用户层面的缓冲区不过同一个概念&#x…

数据结构与算法引入(Python)

华子目录 引入第一次尝试第二次尝试 算法的概念算法的五大特性 算法效率衡量执行时间单靠时间值绝对可信吗&#xff1f; 时间复杂度与 "大O记法"如何理解 “大O记法” 最坏时间复杂度时间复杂度的几条基本计算规则 算法分析常见的时间复杂度常见时间复杂度之间的关系…

2024最新版DataGrip安装教程-全网最全教程!!!

1.DataGrip下载安装 1.打开DataGrip官网&#xff0c;选择自己需要的版本下载即可&#xff1a; 2.进行安装&#xff1a; 3.重启打开&#xff1a; 我这个是正版激活码激活的&#xff0c;需要教程可以关注留言

网络爬虫中selenium和requests这两个工具有什么区别呢?

在自动化和网络爬虫的开发过程中&#xff0c;Selenium和Requests是两个常用的工具。尽管它们都可以用于从互联网上获取数据&#xff0c;但它们在用途、功能和工作原理上存在显著的差异。以下将详细探讨Selenium和Requests之间的主要区别。 一、用途和定位 Selenium&#xff1…

互联网的盈利模式

1. 广告收入 展示广告&#xff1a;通过在网站或应用上展示横幅广告、视频广告等&#xff0c;按点击次数&#xff08;CPC&#xff09;或展示次数&#xff08;CPM&#xff09;收费。搜索广告&#xff1a;通过搜索引擎上的关键词竞价广告&#xff0c;按点击次数收费。社交媒体广告…

conda 常用指令大集合

增删改查 注&#xff1a;所有的环境都保存在路径 ${anaconda安装目录}/env/[环境名]下 查看现有环境 (星号✳️代表当前&#xff09; conda info --env 创建 conda 环境 conda create -n [环境名] python[版本号] 删除 conda 环境 conda remove -n [环境名] --all 修改…

如何通过京东API优雅地获取商品评论数据

在当今电商领域&#xff0c;用户评论成为了影响消费者购买决策的关键因素之一。京东&#xff0c;作为中国领先的电商平台&#xff0c;深知商品评论的重要性&#xff0c;并通过其开放平台提供了商品评论数据接口&#xff0c;让开发者能够轻松获取商品的用户反馈信息。本文将指导…

[Redis]持久化机制

众所周知&#xff0c;Redis是内存数据库&#xff0c;也就是把数据存在内存上&#xff0c;读写速度很快&#xff0c;但是&#xff0c;内存的数据容易丢失&#xff0c;为了数据的持久性&#xff0c;还得把数据存储到硬盘上 也就是说&#xff0c;内存有一份数据&#xff0c;硬盘也…

如何在 Windows 上安装 Docker Desktop

如何在 Windows 上安装 Docker Desktop Docker 是一个开放平台&#xff0c;用于开发、部署和运行应用程序。Docker Desktop 是 Docker 在 Windows 和 macOS 上的官方客户端&#xff0c;它使得开发者能够轻松地在本地环境中构建、运行和共享容器化应用程序。本文将详细介绍如何…

RuoYi Swagger请求401

问题描述&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 使用ruoyi-vue分离版&#xff0c;访问swagger&#xff0c;发现接口都调用失败&#xff1a;401 解决方案&#xff1a; 最终解决问题如下步骤&#xff1a; 1、 调用swagger中的接口&#xff0c;报错&a…

如何在SpringSecurity中配置基于角色的访问控制?

在Spring Security中配置基于角色的访问控制是保护应用程序和资源不被未授权访问的基本策略之一。这里&#xff0c;我们将详细介绍如何在配置中和方法级别上实现基于角色的访问控制。 1. 配置基于角色的访问控制 在Spring Security的配置类中&#xff0c;你可以使用HttpSecur…

揭秘MMAdapt:如何利用AI跨领域战胜新兴健康谣言?

MMAdapt: A Knowledge-Guided Multi-Source Multi-Class Domain Adaptive Framework for Early Health Misinformation Detection 论文地址: MMAdapt: A Knowledge-guided Multi-source Multi-class Domain Adaptive Framework for Early Health Misinformation Detection …

【Mysql】DQL操作单表、创建数据库、排序、聚合函数、分组、limit关键字

DQL操作单表 1.1 创建数据库 •创建一个新的数据库 db2 CREATE DATABASE db2 CHARACTER SET utf8;•将db1数据库中的 emp表 复制到当前 db2数据库 ** 1.2 排序** 通过 ORDER BY 子句,可以将查询出的结果进行排序 (排序只是显示效果,不会影响真实数据) 语法结构&#xff1a;…

算法:渐进记号的含义及时间复杂度计算

渐进记号及时间复杂度计算 渐近符号渐近记号 Ω \Omega Ω渐进记号 Θ \Theta Θ渐进记号小 ο \omicron ο渐进记号小 ω \omega ω渐进记号大 O \Omicron O常见的时间复杂度关系 时间复杂度计算&#xff1a;递归方程代入法迭代法套用公式法 渐近符号 渐近记号 Ω \Omega Ω …

每天写java到期末考试--接口1--基础--6.22

规则&#xff1a; 练习&#xff1a; 抽象类的抽象方法 动物类Animal package 期末复习;public abstract class Animal {private String name;private int age;//1.空构造public Animal(){}public Animal(String name,int age){this.ageage;this.namename;}public String getNa…

【C++提高编程-11】----C++ STL常用集合算法

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

Nginx 负载均衡实现上游服务健康检查

Nginx 负载均衡实现上游服务健康检查 Author&#xff1a;Arsen Date&#xff1a;2024/06/20 目录 Nginx 负载均衡实现上游服务健康检查 前言一、Nginx 部署并新增模块二、健康检查配置2.1 准备 nodeJS 应用程序2.2 Nginx 配置负载均衡健康检查 小结 前言 如果你使用云负载均衡…

深入理解适配器模式:Java实现与框架应用

适配器模式是一种结构型设计模式&#xff0c;它允许将一个类的接口转换成客户端希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以协同工作。在本篇博客中&#xff0c;我们将详细介绍适配器模式&#xff0c;并演示如何在Java中实现它。最后&#xff0…