当前位置: 首页 > news >正文

【虚拟机】ALmaLinux安装


文章目录

  • 一、前置说明
  • 二、创建虚拟机
  • 三、开始安装
  • 四、安装配置
  • 五、远程连接
  • 六、静态网络设置
    • (一)查看当前网络状态
    • (二)设置静态 IP
      • 2.1 设 IP
      • 2.2 设网关
      • 2.3 设 DNS
      • 2.4 将获取方式从 “自动” 改为 “手动”
    • (三)重启网络让配置生效
    • (四)验证
  • 七、安装Docker
    • (一)卸载系统自带的 Podman
    • (二)安装基础依赖并添加官方库
    • (三)安装 Docker 全家桶
    • (四)设置开机自启
    • (五)小技巧
    • (六)镜像拉取测试
    • (七)容器创建
      • 1. Redis 容器
      • 2. MySQL 容器
      • 3. Nginx 容器
      • 4. MinIO 容器
      • 5. Docker 常用命令
  • 八、GCC编译器安装

一、前置说明

  1. 下载AlmaLinux镜像(ISO)
    • 地址:ALmaLinux下载(AlmaLinux/版本号/isos/x86_64/)
    • 有图形界面:DVDISO(包含完整软件包)
    • 服务器:Minimal ISO(最小化安装)
  2. 准备VMware软件
    • 版本选16.x 或 17.x以上
    • 电脑在BIOS中开启CPU虚拟化功能

注:

  • 本次栗子:VMWare16 + ALmaLinux-9-latest-x86_64-minimal.iso

二、创建虚拟机

  1. 配置类型
  2. 安装来源
  3. 客户机操作系统
  4. 命名虚拟机
  5. 磁盘容量
  6. 自定义硬件
  • 内存:至少2GB
  • 处理器:至少2核
  • 网络适配器:NAT模式


三、开始安装

  1. 开启虚拟机
  2. 选择第一项

四、安装配置

  1. 语言
  2. 安装目标位置

  3. 网络和主机名
  • 找到网卡(通常叫eth0 或 ens33),ALmaLinux中是ens160
  • 开关拨到ON

  1. root密码

  2. 创建用户

  3. 完成

  • 重启,输入用户名和密码
  • 验证网络:ping www.baidu.com


7. 更新系统

sudodnf update-y

五、远程连接

六、静态网络设置

(一)查看当前网络状态

  • NAME(连接名):通常是System eth0 或 和网卡名一致(栗:ens160 或 eth0
  • DEVICE(设备名):实际的网卡名,栗:eth0
nmcli connection show

(二)设置静态 IP

通过虚拟机查看当前自动获取的 IP 和 网关:

  • 网关:192.168.198.5
  • IP 地址:192.168.198.146

2.1 设 IP

  • 静态设置为:192.168.198.x
  • /24:代表子网掩码255.255.255.0,家庭网络通常都是这个
sudonmcli connection modify ens160 ipv4.addresses192.168.198.100/24

2.2 设网关

sudonmcli connection modify ens160 ipv4.gateway192.168.198.5

2.3 设 DNS

可选DNS如下: 阿里:223.5.5.5223.6.6.6 腾讯:119.29.29.29182.254.118.118 百度:180.76.76.76 谷歌:8.8.8.88.8.4.4 114DNS:114.114.114.114115.115.115.115
sudonmcli connection modify ens160 ipv4.dns"223.5.5.5"

2.4 将获取方式从 “自动” 改为 “手动”

sudonmcli connection modify ens160 ipv4.method manual

(三)重启网络让配置生效

sudonmcli connection down ens160&&sudonmcli connection up ens160

(四)验证

查看 IP:

ipaddr

测试能否上网:

pingwww.baidu.com

七、安装Docker

(一)卸载系统自带的 Podman

sudodnf remove-ypodmanbuildah

(二)安装基础依赖并添加官方库

阿里云版:(推荐)sudodnfinstall-ydnf-plugins-coresudodnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 官方版:sudodnfinstall-ydnf-plugins-coresudodnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(三)安装 Docker 全家桶

sudodnfinstall-ydocker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

安装成功后,查看版本:

docker-v

(四)设置开机自启

sudosystemctl startdockersudosystemctlenabledocker

(五)小技巧

  1. 免去每次输入命令需要输入sudo
sudousermod-aGdocker$USER
  1. 配置国内镜像源
sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.xuanyuan.me" ] } EOFsudosystemctl daemon-reloadsudosystemctl restartdocker

(六)镜像拉取测试

dockerpull mysql:8.0.36dockerpull nginx:1.30.0dockerpull redis:7.2.5dockerpull minio/minio:RELEASE.2025-04-22T22-12-26Z

(七)容器创建

1. Redis 容器

  • --name redis:给容器起个名字叫 redis
  • -p 6379:6379:端口映射
  • -v /opt/redis/data:/data:把数据存在宿主机的 /opt/redis/data目录下,防止容器删了数据就没了
  • redis-server --appendonly yes:开启 AOF 持久化,保证数据安全
dockerrun-d\--nameredis\-p6379:6379\-v/opt/redis/data:/data\redis:7.2.5 自启动+端口映射+数据持久化:dockerrun-d\--nameredis\--restart=always\-p6379:6379\-v/opt/redis/data:/data\redis:7.2.5\redis-server--appendonlyyes

2. MySQL 容器

  • -e MYSQL_ROOT_PASSWORD=123456:设置 root 密码
  • -v /opt/mysql/data:/var/lib/mysql:数据目录挂载
  • -v /opt/mysql/conf:/etc/mysql/conf.d:配置文件目录挂载
  • --character-set-server=utf8mb4:设置默认字符集为 utf8mb4,支持 Emoji 表情
dockerrun-d\--namemysql8.0\-p3306:3306\-eMYSQL_ROOT_PASSWORD=123456\-eTZ=Asia/Shanghai\-v/opt/mysql/data:/var/lib/mysql\-v/opt/mysql/conf:/etc/mysql/conf.d\mysql:8.0.36\--character-set-server=utf8mb4\--collation-server=utf8mb4_unicode_ci 自启动+端口映射:dockerrun-d\--namemysql\--restart=always\-p3306:3306\-eMYSQL_ROOT_PASSWORD=Root123456\-v/opt/mysql/data:/var/lib/mysql\-v/opt/mysql/conf:/etc/mysql/conf.d\mysql:8.0.36\--character-set-server=utf8mb4\--collation-server=utf8mb4_unicode_ci

安装成功后的初始目录:

information_schema mysql performance_schema sys

3. Nginx 容器

  • -v /opt/nginx/html:/usr/share/nginx/html:网页文件目录
  • -v /opt/nginx/conf:/etc/nginx/conf.d:配置文件目录
  • -v /opt/nginx/logs:/var/log/nginx:日志目录

注:

  • 第一次运行前,先将宿主机建好/opt/nginx/conf目录,并放一个default.conf进去,否则 Nginx 可能会用默认配置启动
dockerrun-d\--namenginx\-p80:80\-p443:443\-v/opt/nginx/html:/usr/share/nginx/html\-v/opt/nginx/conf:/etc/nginx/conf.d\-v/opt/nginx/logs:/var/log/nginx\nginx:1.30.0 自启动+端口映射:dockerrun-d\--namenginx\--restart=always\-p80:80\-p443:443\-v/opt/nginx/html:/usr/share/nginx/html\-v/opt/nginx/conf:/etc/nginx/conf.d\-v/opt/nginx/logs:/var/log/nginx\nginx:1.30.0

default.conf内容:

server{# 监听 80 端口listen80;# 监听 IPv6listen[::]:80;# 你的域名或 IP,_ 代表匹配所有server_name _;# -------------------------------------------------------# 1. 安全设置:隐藏 Nginx 版本号# -------------------------------------------------------server_tokens off;# -------------------------------------------------------# 2. 前端静态文件配置 (SPA 单页应用)# -------------------------------------------------------location /{# 对应你刚才创建的 /opt/nginx/html 目录root /usr/share/nginx/html;# 默认索引文件index index.html index.htm;# 关键配置:解决 Vue/React 路由刷新 404 的问题# 如果找不到文件,就返回 index.html,让前端路由去处理try_files$uri$uri/ /index.html;}# -------------------------------------------------------# 3. 反向代理:后端 API 接口# -------------------------------------------------------# 假设你的后端服务运行在宿主机的 8080 端口location /api/{# 注意:这里如果是连接宿主机的服务,Docker 里通常用 host.docker.internal# 或者你后面启动后端容器时,把后端容器命名为 backend,这里就写 http://backend:8080/proxy_pass http://host.docker.internal:8080/;# 传递真实的客户端 IPproxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto$scheme;}# -------------------------------------------------------# 4. 反向代理:MinIO 控制台 (可选)# -------------------------------------------------------# 如果你想通过 Nginx 访问 MinIO (比如 http://ip/minio/)location /minio/{proxy_pass http://host.docker.internal:9001/;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto$scheme;}# -------------------------------------------------------# 5. 错误页面配置# -------------------------------------------------------error_page500502503504/50x.html;location=/50x.html{root /usr/share/nginx/html;}}
server{listen80;listen[::]:80;server_name _;server_tokens off;location /{root /usr/share/nginx/html;index index.html index.htm;try_files$uri$uri/ /index.html;}location /api/{proxy_pass http://host.docker.internal:8080/;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto$scheme;}location /minio/{proxy_pass http://host.docker.internal:9001/;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto$scheme;}error_page500502503504/50x.html;location=/50x.html{root /usr/share/nginx/html;}}

4. MinIO 容器

  • -p 9000:9000:API 端口
  • -p 9001:9001:Web 管理后台端口
  • -e "MINIO_ROOT_USER=admin":设置后台登录用户名
  • -e "MINIO_ROOT_PASSWORD=admin123456":设置后台登录密码(至少 8 位)
  • server /data --console-address ":9001":启动服务并指定控制台端口
dockerrun-d\--nameminio\-p9000:9000\-p9001:9001\-v/opt/minio/data:/data\-e"MINIO_ROOT_USER=admin"\-e"MINIO_ROOT_PASSWORD=admin123456"\minio/minio:RELEASE.2025-04-22T22-12-26Z\server /data --console-address":9001"自启动+端口映射:dockerrun-d\--nameminio\--restart=always\-p9000:9000\-p9001:9001\-v/opt/minio/data:/data\-e"MINIO_ROOT_USER=admin"\-e"MINIO_ROOT_PASSWORD=admin123456"\minio/minio:RELEASE.2025-04-22T22-12-26Z\server /data --console-address":9001"

5. Docker 常用命令

启动docker: systemctl startdocker停止docker: systemctl stopdocker重启docker: systemctl restartdocker拉取镜像:dockerpull 查看镜像:dockerimages 删除镜像:dockerrmi 启动容器:dockerstart 容器名 停止容器:dockerstop 容器名 查看容器:dockerps删除容器dockerrm容器名

八、GCC编译器安装

检查是否安装gcc: gcc--version安装gcc:sudoyuminstallgcc 或sudodnfinstallgcc 安装g++:sudoyuninstallgcc-c++
http://www.jsqmd.com/news/980934/

相关文章:

  • COM3D2.MaidFiddler:3分钟上手的游戏实时编辑器完全指南
  • 莲湖区家政公司分析:靠谱家政电话与家电空调维修参考 - 资讯速览
  • 小程序毕设选题推荐:基于springboot+vue的微信小程序的个人运动健康管理平台的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 5分钟掌握VRM插件:Blender虚拟角色制作终极指南
  • 3DS游戏格式转换:技术深度解析与实战指南
  • Awoo Installer架构深度解析:Nintendo Switch游戏安装引擎的设计哲学与性能优化
  • 鸡西美度天梭+宝玑手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • 09-Plugins 上篇:安装、使用与社区生态 —— 一键安装全家桶
  • 小白学习机械视觉笔记(四)图像
  • 淮北劳力士+欧米茄手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
  • 别再直接转unsigned short了!深入理解fp16与float互转的IEEE 754标准(附C代码详解)
  • 谁说专业投票很难做?云众评选小白也能上手(免费+防刷+模板) - 微信投票小程序
  • 3分钟让Figma说中文:设计师必备的界面本地化解决方案
  • 如何用VRM-Addon-for-Blender插件快速实现3D模型转换:新手完整指南
  • 【Unity教程】使用vuforia创建简单的AR实例
  • 旧物交换网站源码包:SpringBoot后端+Vue前端,含数据库脚本、部署文档与操作视频
  • Cursor大规模代码重构实战:AST语义驱动的自动化迁移方案
  • 淮南劳力士+欧米茄手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • Java在线考试系统源码:Spring Boot后端+Vue3前端,支持智能组卷与双模式阅卷
  • PHP树结构实现与遍历算法
  • 2026年6月最新版苏州第三方CMACNAS甲醛检测治理口碑名单:万清CMA检测中心等5家深度测评 - 一休咨询
  • Off-Policy Actor-Critic 与重要性采样
  • Python开发工程师全景解析:岗位职责·各城市薪资·发展前景·高考志愿填报(2026版)
  • 2026如何提升营销岗位的职场能力和核心竞争力
  • 99个免费公共Tracker终极指南:让BT下载速度飙升300%的完整方案
  • Bili23 Downloader 技术解析:B站流媒体架构与API交互机制研究
  • 2024 LLM开发实操指南:本地化部署与RAG微调全链路
  • 黄冈美度天梭+宝玑手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • LLM代理层消亡史:当模型原生能力让网关退化为透传器