2.openEuler搭建虚拟机并运行Flask项目

openEuler搭建虚拟机并运行Flask项目

1.准备

  1. 分一个50G的盘出来安装虚拟机和搭建环境

  2. VMware虚拟机(无版本要求)

  3. 镜像:openEuler-22.03-LTS-SP2-x86_64-dvd.iso

    下载地址:https://www.openeuler.org/zh/download/

    image-20230801223710032

2.安装

教程地址:https://blog.csdn.net/huangsxint/article/details/114758542

注意事项

  1. 教程地址的**(一)VMware Workstation 安装**的第4步,虚拟机导向,客户机选择Linux,版本选择Centos64
  2. 教程地址操作只跟着做到**(二)OpenEuler安装教程的第二步骤“2.选择系统语言”**
  3. 然后到这个地址的第20步开始操作到第39步,地址:https://blog.csdn.net/redrose2100/article/details/127502999
  4. 接着注意事项3的地址的第29步,基本环境最小安装,已选环境的附加环境全部勾选,第37步不要创建普通用户

3.ukui安装

  1. 进入虚拟机以后先ping一下百度测试网络连接(确保能ping通,ping通后Ctrl+c停止ping)

    1
    ping www.baidu.com
  2. 依次输入以下指令安装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.进入界面初始设置

image-20230801231431770

这里是为了方便找到操作

初始界面分辨率比较大,可以在设置–>显示器–>分辨率,调节屏幕大小

不支持与主机互传文件,复制粘贴等操作,跟着教程来吧

5. 下载编译包

安装Python和MySQL,并运行Flask程序

(所有指令都在终端输入)

  1. 安装Python:

    • openEuler通常已经预装了Python。您可以在终端中输入以下命令验证是否已经安装Python:

      1
      python3 --version
    • 如果未安装Python,请在终端中使用以下命令安装:

      1
      sudo dnf install python3
  2. 安装MySQL:

    • 在openEuler中,您可以使用MySQL的替代品MariaDB。可以使用以下命令安装MariaDB:

      1
      sudo dnf install mariadb-server
  3. 启动和配置MySQL/MariaDB:

    • 启动MariaDB服务:

      1
      sudo systemctl start mariadb
    • 运行安全性配置向导:

      1
      sudo mysql_secure_installation
    • 在向导中,您将需要设置root用户的密码,以及是否删除匿名用户、禁止root远程登录等。根据您的需求进行设置。

  4. 安装Flask和相关依赖:

    • 使用pip安装Flask和MySQL客户端库:

      1
      pip3 install flask mysql-connector-python
  5. 创建Flask测试程序:

    • 使用任意文本编辑器创建您的Flask程序(可以直接vim app.py)。例如,您可以创建一个名为app.py的文件:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      from flask import Flask

      app = Flask(__name__)

      @app.route('/')
      def hello():
      return 'Hello, Flask on openEuler!'

      if __name__ == '__main__':
      app.run()
  6. 在终端中,进入保存有app.py的目录,并运行以下命令启动Flask应用:

    1
    python3 app.py
  7. 测试Flask程序:

6.拷贝项目代码和数据库

第一种方式

VMTools安装。VM tools顾名思义就是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便虚拟主机与本机的交互,如允许共享文件夹,甚至可以直接从本机向虚拟主机拖放文件、鼠标无缝切换、显示分辨率调整等,十分实用。

  • 选择虚拟机菜单栏–安装VMware tools,如下图所示。(我安装过了)

image-20230804133453945

  • 将.tar.gz文件拖拽到桌面(解压到当前目录)

  • image-20230804133511621

  • 进入文件夹并确认看到vmware-install.pl文件。运行vmware-install.pl文件,如图所示

  • image-20230804133534705

  • 最后用“./vmware-install.pl”命令来运行该安装程序,然后根据屏幕提示一路回车。到此整个安装过程算是完成了。

  • 重启OpenEuler, 就能实现物理机Window和虚拟机OpenEuler之间文件的拖拽,如图所示

  • image-20230804133601470

第二种方式

进入openEuler操作系统的终端输入以下指令

1
2
3
4
sudo dnf autoremove open-vm-tools
sudo dnf install open-vm-tools
sudo dnf install open-vm-tools-desktop
reboot

接着就可以将主机的文件拖入到openEuler

第三种方法(推荐)

使用远程连接工具连接物理机IP

查看物理机IP

终端工具推荐WindTerm

指路:零度解说

image-20230814220334188

7.MariaDB加载sql文件

我们只要拷贝下来的MySQL里的recruitment.sql文件

要进入MariaDB数据库并执行已有的SQL文件,您可以按照以下步骤操作:

  1. 确保MariaDB服务器已经启动:

    • 如果尚未启动MariaDB服务器,可以使用以下命令启动它:

      1
      sudo systemctl start mariadb
  2. 使用mysql命令行工具登录到MariaDB数据库:

    • 打开终端并输入以下命令:

      1
      2
      mysql -u root -p
      show databases;
  3. 在数据库中创建要使用的数据库(如果尚未创建):

    • 如果您的SQL文件需要在特定的数据库中运行,请在登录到数据库后,执行以下命令创建数据库:

      1
      2
      CREATE DATABASE recruitment;
      use recruitment;
    • your_database_name替换为您要创建的数据库的名称。

  4. 执行SQL文件:

    • 使用以下命令执行SQL文件:

      找到recruitment.sql的路径,可以将找到recruitment.sql复制到你想要的路径文件夹,例如**/root/recruitment.sql**

      1
      source /root/recruitment.sql;
  5. 退出MariaDB:

    • 输入以下命令退出MariaDB:

      1
      exit;
  6. 设置数据库开机自启动

    1
    systemctl enable mariadb
  7. 查看数据库的运行状态

    1
    systemctl status mariadb

8.运行项目

进入项目文件夹右击打开终端,输入

1
python3 app.py

image-20230801235757613

image-20230801235843685

报错注意事项:

  1. 当在Python中出现"No module named ‘xxxx’"错误时,这通常意味着Python解释器无法找到名为’xxxx’的模块。以下是一些可能的原因和解决方法:

    模块未安装:该错误可能是由于缺少所需的模块引起的。请确保您已经安装了’xxxx’模块。您可以使用以下命令使用pip来安装模块(在项目终端下输入):

    1
    pip install xxxx
  2. “ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’” 表明连接到MariaDB时使用的root用户在本地主机(localhost)上被拒绝访问。

    这种情况通常发生在以下几种情况下:

    1. 密码错误:输入的root用户密码不正确。请确保您输入的密码是正确的。如果忘记了密码,您可能需要重置root用户的密码。
    2. 错误的连接权限:可能root用户没有正确的权限连接到数据库。在某些配置中,root用户可能仅允许使用UNIX套接字连接,而不允许通过TCP/IP连接。这取决于MariaDB的配置。

    解决方法:

    1. 确保密码正确:请确保您输入的root用户密码是正确的。如果不确定密码,请尝试重置root用户的密码。

    2. 重置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
        3
        FLUSH PRIVILEGES;
        exit;
        sudo systemctl restart mariadb
  3. 再次运行项目