openEuler搭建虚拟机并运行Flask项目
1.准备
-
分一个50G的盘出来安装虚拟机和搭建环境
-
VMware虚拟机(无版本要求)
-
镜像:openEuler-22.03-LTS-SP2-x86_64-dvd.iso
下载地址:https://www.openeuler.org/zh/download/
2.安装
教程地址:https://blog.csdn.net/huangsxint/article/details/114758542
注意事项:
- 教程地址的**(一)VMware Workstation 安装**的第4步,虚拟机导向,客户机选择Linux,版本选择Centos64
- 教程地址操作只跟着做到**(二)OpenEuler安装教程的第二步骤“2.选择系统语言”**
- 然后到这个地址的第20步开始操作到第39步,地址:https://blog.csdn.net/redrose2100/article/details/127502999
- 接着注意事项3的地址的第29步,基本环境最小安装,已选环境的附加环境全部勾选,第37步不要创建普通用户
3.ukui安装
-
进入虚拟机以后先ping一下百度测试网络连接(确保能ping通,ping通后Ctrl+c停止ping)
1
ping www.baidu.com
-
依次输入以下指令安装ukui图形界面系统
1.下载openEuler 22.03 (LTS-SP2) 镜像并安装系统。
1
sudo dnf update
2.安装UKUI。
1
sudo dnf install ukui
3.在确认正常安装后,如果希望以图形界面的方式启动,请在命令行运行以下代码,并重启(
reboot
)。1
systemctl set-default graphical.target
4.进入界面初始设置
这里是为了方便找到操作
初始界面分辨率比较大,可以在设置–>显示器–>分辨率,调节屏幕大小
不支持与主机互传文件,复制粘贴等操作,跟着教程来吧
5. 下载编译包
安装Python和MySQL,并运行Flask程序
(所有指令都在终端输入)
-
安装Python:
-
openEuler通常已经预装了Python。您可以在终端中输入以下命令验证是否已经安装Python:
1
python3 --version
-
如果未安装Python,请在终端中使用以下命令安装:
1
sudo dnf install python3
-
-
安装MySQL:
-
在openEuler中,您可以使用MySQL的替代品MariaDB。可以使用以下命令安装MariaDB:
1
sudo dnf install mariadb-server
-
-
启动和配置MySQL/MariaDB:
-
启动MariaDB服务:
1
sudo systemctl start mariadb
-
运行安全性配置向导:
1
sudo mysql_secure_installation
-
在向导中,您将需要设置root用户的密码,以及是否删除匿名用户、禁止root远程登录等。根据您的需求进行设置。
-
-
安装Flask和相关依赖:
-
使用pip安装Flask和MySQL客户端库:
1
pip3 install flask mysql-connector-python
-
-
创建Flask测试程序:
-
使用任意文本编辑器创建您的Flask程序(可以直接vim app.py)。例如,您可以创建一个名为app.py的文件:
1
2
3
4
5
6
7
8
9
10from flask import Flask
app = Flask(__name__)
def hello():
return 'Hello, Flask on openEuler!'
if __name__ == '__main__':
app.run()
-
-
在终端中,进入保存有app.py的目录,并运行以下命令启动Flask应用:
1
python3 app.py
-
测试Flask程序:
- 在火狐浏览器中访问http://localhost:5000/,您将看到"Hello, Flask on openEuler!"的消息。
6.拷贝项目代码和数据库
第一种方式
VMTools安装。VM tools顾名思义就是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便虚拟主机与本机的交互,如允许共享文件夹,甚至可以直接从本机向虚拟主机拖放文件、鼠标无缝切换、显示分辨率调整等,十分实用。
- 选择虚拟机菜单栏–安装VMware tools,如下图所示。(我安装过了)
-
将.tar.gz文件拖拽到桌面(解压到当前目录)
-
-
进入文件夹并确认看到vmware-install.pl文件。运行vmware-install.pl文件,如图所示
-
-
最后用“./vmware-install.pl”命令来运行该安装程序,然后根据屏幕提示一路回车。到此整个安装过程算是完成了。
-
重启OpenEuler, 就能实现物理机Window和虚拟机OpenEuler之间文件的拖拽,如图所示
-
第二种方式
进入openEuler操作系统的终端输入以下指令
1 | sudo dnf autoremove open-vm-tools |
接着就可以将主机的文件拖入到openEuler
第三种方法(推荐)
使用远程连接工具连接物理机IP
查看物理机IP
终端工具推荐WindTerm
指路:零度解说
7.MariaDB加载sql文件
我们只要拷贝下来的MySQL里的recruitment.sql文件
要进入MariaDB数据库并执行已有的SQL文件,您可以按照以下步骤操作:
-
确保MariaDB服务器已经启动:
-
如果尚未启动MariaDB服务器,可以使用以下命令启动它:
1
sudo systemctl start mariadb
-
-
使用mysql命令行工具登录到MariaDB数据库:
-
打开终端并输入以下命令:
1
2mysql -u root -p
show databases;
-
-
在数据库中创建要使用的数据库(如果尚未创建):
-
如果您的SQL文件需要在特定的数据库中运行,请在登录到数据库后,执行以下命令创建数据库:
1
2CREATE DATABASE recruitment;
use recruitment; -
将
your_database_name
替换为您要创建的数据库的名称。
-
-
执行SQL文件:
-
使用以下命令执行SQL文件:
找到recruitment.sql的路径,可以将找到recruitment.sql复制到你想要的路径文件夹,例如**/root/recruitment.sql**
1
source /root/recruitment.sql;
-
-
退出MariaDB:
-
输入以下命令退出MariaDB:
1
exit;
-
-
设置数据库开机自启动
1
systemctl enable mariadb
-
查看数据库的运行状态
1
systemctl status mariadb
8.运行项目
进入项目文件夹右击打开终端,输入
1 | python3 app.py |
报错注意事项:
-
当在Python中出现"No module named ‘xxxx’"错误时,这通常意味着Python解释器无法找到名为’xxxx’的模块。以下是一些可能的原因和解决方法:
模块未安装:该错误可能是由于缺少所需的模块引起的。请确保您已经安装了’xxxx’模块。您可以使用以下命令使用pip来安装模块(在项目终端下输入):
1
pip install xxxx
-
“ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’” 表明连接到MariaDB时使用的root用户在本地主机(localhost)上被拒绝访问。
这种情况通常发生在以下几种情况下:
- 密码错误:输入的root用户密码不正确。请确保您输入的密码是正确的。如果忘记了密码,您可能需要重置root用户的密码。
- 错误的连接权限:可能root用户没有正确的权限连接到数据库。在某些配置中,root用户可能仅允许使用UNIX套接字连接,而不允许通过TCP/IP连接。这取决于MariaDB的配置。
解决方法:
-
确保密码正确:请确保您输入的root用户密码是正确的。如果不确定密码,请尝试重置root用户的密码。
-
重置root用户密码:如果忘记了root用户的密码,可以使用以下步骤重置密码(打开新的终端输入):
-
停止MariaDB服务器:
1
sudo systemctl stop mariadb
-
以跳过权限认证模式启动MariaDB服务器(没用就跳过):
1
sudo mysqld_safe --skip-grant-tables &
-
使用mysql命令行工具连接到MariaDB服务器(没用就跳过):
1
mysql -u root
-
在未输入密码的情况下,连接到MariaDB后,更新root用户的密码:
1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
-
将
new_password
替换为您要设置的新密码。 -
退出mysql并重启MariaDB服务器:
1
2
3FLUSH PRIVILEGES;
exit;
sudo systemctl restart mariadb
-
-
再次运行项目