IT运维:从云服务器ECS到私有化大模型部署全流程(包含安装MySQL,Nginx,Redis过程)

发布时间:2026/7/27 5:18:16
IT运维:从云服务器ECS到私有化大模型部署全流程(包含安装MySQL,Nginx,Redis过程) IT运维实战指南从云服务器ECS到私有化大模型部署全流程本文记录了一次完整的IT运维实践过程涵盖云服务器ECS的开通与配置、Linux基础操作、MySQL/Redis/Nginx等服务部署、前端项目上线以及ChatGLM-6B私有化大模型部署和阿里云监控告警配置。适合运维入门和后端开发同学参考。目录IT运维实战指南从云服务器ECS到私有化大模型部署全流程一、运维基础知识点1.1 工单系统1.2 网络通信1.3 云服务器二、云服务器ECS试用与配置2.1 修改资源配置三、Linux基础操作3.1 目录结构3.2 基础命令3.3 文件操作与查找3.4 文件编辑vim3.5 文件查看命令3.6 文件压缩与解压四、运维部署实战4.1 申请服务器4.2 安装MySQL 81安装MySQL仓库2检查仓库是否启用3安装MySQL服务4启动并设置开机自启5获取初始root密码6安全初始化配置7登录测试8开放防火墙端口4.3 导入MySQL数据1创建目录并上传SQL文件2导入SQL并验证4.4 安装Redis1安装并修改配置2启动Redis3测试连接4.5 配置百度云大模型API4.6 安装Java与部署jar包1安装Java 112部署jar包3安装screen后台运行4.7 安装Nginx1安装并启动2安全组添加端口3Nginx目录结构五、前端服务部署5.1 修改nginx.conf配置5.2 完整nginx.conf参考六、智能客服私有化大模型部署6.1 服务器要求6.2 安装显卡驱动6.3 配置CUDA环境变量6.4 安装Anaconda6.5 部署ChatGLM-6B模型6.6 上传代码并安装依赖6.7 修改模型路径并启动七、运维监控与告警7.1 云监控7.2 配置监控告警1设置报警联系人和联系组2设置报警规则八、常见运维问题排查8.1 CPU负载过高8.2 内存爆满8.3 ECS服务器巡检报告九、总结一、运维基础知识点在动手之前先梳理几个核心概念。1.1 工单系统工单系统用于记录、分配、处理请求并生成报告是运维流程化管理的基石。它能把零散的运维工作标准化、可追溯。1.2 网络通信不同设备通过网络连接进行数据传输与交换涉及三个核心概念概念说明协议定义数据在网络中传输的规则和格式IP地址唯一标识网络中的每一台设备端口区分同一台设备上不同的应用程序和服务常见端口与端口分类HTTP80HTTPS443FTP210~1023系统/服务使用端口1024~49151注册端口49152~65535动态私有端口1.3 云服务器云服务器是一台租用的私有服务器。下文将以阿里云ECS为例演示如何开通ECS并将操作系统配置为CentOS Stream。二、云服务器ECS试用与配置2.1 修改资源配置操作步骤如下先点击停止实例再点击资源配置选择镜像操作将操作系统修改为CentOS Stream自定义密码即可三、Linux基础操作3.1 目录结构Linux采用树形目录结构几个关键目录的含义如下目录含义/home、/root用户家目录/bin、/sbin命令所在目录/dev设备目录/opt应用安装包目录/tmp临时文件目录/etc配置文件目录3.2 基础命令pwd# 查看当前目录ls# 显示目录内容cd# 切换目录tree# 显示目录结构mkdir-pa/b/c# 递归创建多级文件夹rmdir# 删除空文件夹3.3 文件操作与查找toucha.txt# 创建文件touch-d2024-01-01a.txt# 创建文件并指定时间cp-ra.txt b.txt /test/a/# 递归复制文件/文件夹到目标目录mva.txt ./a/c.txt# 移动文件可同时改名rm-rffolder# 递归强制删除文件/文件夹提示路径要写完整或者使用相对路径./a/移动和复制时都可以改名。find 查找命令# 语法find 路径 -name 名称 -type 类型 -size 大小 -exec 命令 \;# -typef 表示文件d 表示文件夹# -size100M 表示大于100M# 将大于100M的文件移至家目录find/user-size100M-typef-execcp{}~\;# 将3天前的文件复制到备份目录find~-mtime3-typef-execcp-r{}/backup/old_logs/\;卡住时按CtrlC终止。3.4 文件编辑vimvim 有三种模式命令模式、插入模式、底行模式。命令模式操作按键功能o光标下一行后插入O光标上一行前插入dd删除当前行ndd删除多行如3ddp粘贴yy复制当前行gg回到文件顶部G跳到文件末尾插入模式i/a当前光标前 / 后插入o/O当前行下 / 上一行插入底行模式命令功能:q退出未保存会报错:q!强制退出:w保存:wq保存并退出:x保存并退出:X设置密码不输入密码即取消典型操作流程输入i进入编辑模式 → 按Esc回到命令模式 → 用dd/3dd删除、p粘贴、yy复制、CtrlR撤销 → 输入:进入底行模式保存退出。安装 vim与 vi 区别不大dnfinstall-yvim小坑如果没保存就关闭会产生.swp交换文件按R可恢复。3.5 文件查看命令命令说明示例cat查看文件全部内容cat /var/log/messagesmore分页查看向下翻页more fileless分页查看可搜索less /var/log/messages输入/查找q退出head查看前N行默认10head -20 /var/log/messagestail从后往前查看tail -f a.txt实时监测文件变化wc统计行数/单词/字符wc -l行号-w单词-m字符grep查找指定信息的行grep error /var/log/messages|管道符连接命令ll | grep errorecho追加内容到文件echo 111 a.txt3.6 文件压缩与解压# 解压tar-xzvffile.tar.gz# 解压 tar.gzunzipfile.zip-C/目标路径# 解压 zip 到指定目录# 压缩tar-czvffile.tar.gz 目录/# 压缩为 tar.gzzipfile.zip 目录/# 压缩为 zip四、运维部署实战4.1 申请服务器将原有实例停用后即可看到试用入口点击创建使用ECS创建后按前文方式修改操作系统为 CentOS Stream。设置主机名并刷新生效hostnamectl set-hostname node1.itcast.cnsu# 重新登录刷新4.2 安装MySQL 81安装MySQL仓库dnfinstall-yhttps://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm2检查仓库是否启用dnf repolist enabled|grepmysql3安装MySQL服务dnfinstall-ymysql-community-server--nogpgcheck4启动并设置开机自启systemctl start mysqld systemctlenablemysqld systemctl status mysqld5获取初始root密码greppassword /var/log/mysqld.log6安全初始化配置mysql_secure_installation按提示配置即可7登录测试mysql-uroot-p你的密码 quit# 退出8开放防火墙端口涉及两层防火墙firewalld服务器内部系统层面防火墙阿里云安全组云厂商外网层面防火墙# 方式1直接放行mysql服务名firewalld内置识别mysql3306端口firewall-cmd--zonepublic --add-servicemysql--permanent# 方式2直接放行3306 tcp端口更通用firewall-cmd--zonepublic --add-port3306/tcp--permanent# 重载防火墙让新增规则立刻生效firewall-cmd--reload# 查看所有防火墙放行规则验证3306是否开放成功firewall-cmd --list-all4.3 导入MySQL数据1创建目录并上传SQL文件mkdir-p/opt/zzyl/sqlcd/opt/zzyl/sqlpwdll# 检查目录内容再将sql文件拖拽进去2导入SQL并验证# 导入sql文件mysql-uroot-pAa123456.ry-zzyl.sql# 查看所有数据库mysql-uroot-pAa123456.-eshow databases;# 查看指定库的表mysql-uroot-pAa123456.-euse ry-zzyl; show tables;4.4 安装RedisRedis 是超快的数据存储工具将数据保存在内存中。1安装并修改配置dnfinstallredis-yvim/etc/redis/redis.conf# 进入配置文件修改进入底行模式搜索/bind将第75行改为bind * -::*允许任意IP访问。按Esc进入命令模式按G跳到文件末尾:X退出。vim900 /etc/redis/redis.conf修改对应配置项2启动Redissystemctl start redis systemctlenableredis# 设置开机自启动3测试连接redis-cli-a123456# 带密码登录redis-cli# 无密码登录auth123456# 进入后输入密码keys *# 遍历所有key4.5 配置百度云大模型API创建APIKey后复制获取百度智能云-管理中心4.6 安装Java与部署jar包1安装Java 11cd/export/software# 将JDK11放到此目录tar-xzfopenjdk-11.0.0.2_linux-x64.tar.gz-C/opt/# 解压至/opt/cd/opt/ llvim/etc/profile# 编辑环境变量在文件末尾添加exportJAVA_HOME/opt/jdk-11.0.0.2exportPATH$JAVA_HOME/bin:$PATHexportCLASSPATH$JAVA_HOME/lib:$CLASSPATH重新加载环境变量并验证source/etc/profilejava-version2部署jar包jar包是Java打包后的压缩包。SpringBoot项目的配置文件分层加载配置文件说明application.yml公共基础配置所有环境都会加载application-dev.yml开发环境application-test.yml测试环境application-prod.yml生产环境在node1上使用ip a获取IP地址并修改application-prod.ymlmkdir-p/opt/zzyl/baskend/cd/opt/zzyl/baskend/ lljava-jarzzyl-admin.jar# 启动jar包配置MySQL远程访问权限node1报错MySQL连接时设置%表示允许任意IPCREATEUSERroot%IDENTIFIEDBYAa123456.;GRANTALLPRIVILEGESON*.*TOroot%WITHGRANTOPTION;FLUSHPRIVILEGES;CtrlD退出MySQL。在node2上接着启动java-jarzzyl-admin.jar3安装screen后台运行screen 用于让后端进程在后台持续运行避免SSH断开导致服务停止。dnfinstall-yepel-release# 先安装第三方库dnfinstall-yscreenscreen-Szzyl-backend# 创建会话给项目起个名字java-jarzzyl-admin.jar# 在会话中启动项目快捷键/命令功能CtrlAD将会话移至后台screen -ls查看所有会话screen -r 会话名恢复会话4.7 安装NginxNginx 是Web服务器和反向代理服务器最初为提供高效的静态文件服务而生后来广泛用于负载均衡、反向代理和缓存。1安装并启动dnfinstallnginx-ysystemctl start nginx systemctlenablenginx2安全组添加端口3Nginx目录结构目录说明/etc/nginx/主配置文件目录包含nginx.conf主配置、conf.d/额外配置常用于虚拟主机、mime.types文件类型映射/var/www/网站文件目录HTML、图片等/var/log/nginx/日志文件目录用于排查错误五、前端服务部署前端部署用到Nginx的Web服务器功能和反向代理将前端请求转发给后端。5.1 修改nginx.conf配置vim/etc/nginx/nginx.conf1在HTTP块下添加CORS跨域配置# 跨域资源共享CORS允许其他域名访问资源解决浏览器同源策略限制 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods GET, POST, OPTIONS, PUT, DELETE; add_header Access-Control-Allow-Headers Origin, X-Requested-With, Content-Type, Accept, Authorization;2设置请求体大小与缓冲区用于文件上传client_max_body_size 60m; # 限制客户端请求体的最大大小 client_body_buffer_size 512k; # 缓冲客户端请求体的内存大小 client_header_buffer_size 2k; # 缓冲请求头的内存大小3在server块中配置静态页面与反向代理# 处理静态页面 location / { root /var/www/dist; index index.html index.htm; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; try_files $uri $uri/ /index.html; } # 处理反向代理 location /prod-api/ { proxy_pass http://192.168.88.102:8080/zzyl-admin/; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; }5.2 完整nginx.conf参考user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf; # CORS 跨域配置 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods GET, POST, OPTIONS, PUT, DELETE; add_header Access-Control-Allow-Headers Origin, X-Requested-With, Content-Type, Accept, Authorization; server { listen 80; listen [::]:80; # 请求体大小与缓冲区配置 client_max_body_size 60m; client_body_buffer_size 512k; client_header_buffer_size 2k; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location /404.html { } error_page 500 502 503 504 /50x.html; location /50x.html { } # 处理静态页面 location / { root /var/www/dist; index index.html index.htm; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; try_files $uri $uri/ /index.html; } # 处理反向代理注意proxy_pass 改为自己的后端IP location /prod-api/ { proxy_pass http://172.24.11.176:9000/; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } } }注意proxy_pass中的IP需替换为你自己后端服务的实际IP和端口。修改完成后重载Nginx使配置生效nginx-sreload六、智能客服私有化大模型部署本节采用ChatGLM-6B模型进行私有化部署。6.1 服务器要求模型ChatGLM-6B系统Linux显存4GB内存8GB磁盘40GB购买4核15G的大模型ECS6.2 安装显卡驱动验证服务器是否已安装显卡驱动lspci|grep-invidia nvidia-smi# 验证驱动是否正确加载如果未安装前往 developer.nvidia.com 下载安装wgethttps://developer.download.nvidia.com/compute/cuda/12.9.1/local_installers/cuda_12.9.1_575.57.08_linux.runsudoshcuda_12.9.1_575.57.08_linux.run# 需等待一会# 输入 accept 接受协议6.3 配置CUDA环境变量echoexport PATH/usr/local/cuda/bin:$PATH~/.bashrcechoexport LD_LIBRARY_PATH/usr/local/cuda/lib64:$LD_LIBRARY_PATH~/.bashrcsource~/.bashrc# 执行使配置生效nvidia-smi# 验证是否成功6.4 安装Anaconda大模型使用Python开发依赖大量库使用Anaconda可以方便地管理包并隔离不同环境减少相互影响。wgethttps://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.shshAnaconda3-2024.10-1-Linux-x86_64.sh安装过程一路回车出现 yes/no 输入yes注意不要多按回车跳过初始化环境最后出现的 yes/no 也输入yes。输入su后出现(base)即安装完成。如果没出现初始化询问手动配置~/.bashrccd~# 切换到家目录vim.bashrc在文件末尾添加# conda initialize # !! Contents within this block are managed by conda init !!__conda_setup$(/root/anaconda3/bin/conda shell.bash hook2/dev/null)if[$?-eq0];theneval$__conda_setupelseif[-f/root/anaconda3/etc/profile.d/conda.sh];then./root/anaconda3/etc/profile.d/conda.shelseexportPATH/root/anaconda3/bin:$PATHfifiunset__conda_setup# conda initialize 保存退出即可。6.5 部署ChatGLM-6B模型# 1. 创建虚拟环境conda create--namechatglmpython3.10# 输入 y 确认# 2. 进入虚拟环境conda activate chatglm# 3. 创建项目目录mkdir-p/export/data/glmcd/export/data/glm# 4. 安装国内模型资源平台工具pipinstall-Uhuggingface_hub# 5. 设置模型资源镜像地址exportHF_ENDPOINThttps://hf-mirror.com# 6. 下载ChatGLM-6B-int4模型断点续传huggingface-cli download --resume-download THUDM/chatglm-6b-int4 --local-dir THUDM/chatglm-6b-int4参数说明-U升级指定包到最新版本未安装则直接安装最新版--resume-download支持断点续传防止网络中断导致重新下载6.6 上传代码并安装依赖conda activate chatglm# 进入虚拟环境cd/export/data/glm ll# 检查文件将ChatGLM-6B代码拖入# 安装依赖cd/export/data/glm/ChatGLM-6B pipinstall-rrequirements.txt-ihttps://mirror.sjtu.edu.cn/pypi/web/simplePython项目的依赖一般写在requirements.txt中-i指定国内镜像源加速下载。先全部安装缺什么再补。6.7 修改模型路径并启动修改api.py文件告诉程序知识库模型存放位置cd/export/data/glm/ChatGLM-6Bviapi.py增加/修改以下内容model_path/export/data/glm/THUDM/chatglm-6b-int4tokenizerAutoTokenizer.from_pretrained(model_path,trust_remote_codeTrue)modelAutoModel.from_pretrained(model_path,trust_remote_codeTrue).half().cuda()modelmodel.eval()启动服务python api.py默认部署在本地8000端口通过POST方法调用curl-XPOSThttp://127.0.0.1:8000\-HContent-Type: application/json\-d{prompt:你好,history:[]}记得在安全组中添加8000端口放行。七、运维监控与告警阿里云监控帮助用户实时监控云上各种资源出现问题时自动发出警报。7.1 云监控安装云监控插件后可以查看CPU等指标点击可查看详情7.2 配置监控告警1设置报警联系人和联系组2设置报警规则可使用监控脚本测试告警是否生效shcpu_test.sh八、常见运维问题排查8.1 CPU负载过高使用top或htop确认负载情况可能原因某个进程或服务占用过高 →kill -9 进程号终止服务器本身性能不足磁盘、网络阻塞导致CPU负载高但使用率不高遭到攻击进程处于不可中断睡眠状态D状态8.2 内存爆满当mem行的free值几乎为0时说明内存已满8.3 ECS服务器巡检报告定期对ECS进行巡检评估内容包括性能监控数据异常问题判断安全风险评估资源使用和配置时间记录与处理意见云监控支持自定义大盘可按需创建并添加监控项实现可视化巡检。九、总结本文完整记录了一次IT运维实践的全流程基础准备理解工单系统、网络通信、云服务器等核心概念服务器配置ECS开通与CentOS Stream系统配置Linux基础目录结构、文件操作、vim编辑、文件查看、压缩解压服务部署MySQL 8、Redis、Java环境、jar包部署screen后台运行、Nginx前端部署Nginx静态托管 反向代理 CORS跨域配置大模型部署显卡驱动、CUDA、Anaconda、ChatGLM-6B私有化部署监控告警阿里云云监控、报警规则配置问题排查CPU负载、内存爆满等常见问题核心经验防火墙有两层firewalld 安全组部署服务时要确保两层都放行端口后端服务用screen运行避免SSH断开导致服务停止Nginx配置CORS和反向代理是前后端分离项目的标配大模型部署注意显存要求和环境隔离conda虚拟环境监控告警要提前配置防患于未然希望本文对正在学习或从事运维工作的同学有所帮助本文为原创学习笔记转载请注明出处。