云服务器 linux,基础环境更新
- 综合资讯
- 2025-05-28 08:33:07
- 1

云服务器Linux基础环境更新操作摘要:针对Linux云服务器的基础环境维护,建议通过以下步骤进行系统升级,首先执行apt-get update && apt-get...
云服务器Linux基础环境更新操作摘要:针对linux云服务器的基础环境维护,建议通过以下步骤进行系统升级,首先执行apt-get update && apt-get upgrade -y(Debian/Ubuntu)或yum update(CentOS/RHEL)更新软件包索引及核心包,同时使用apt-get dist-upgrade处理依赖冲突,更新前需备份数据及配置文件,关闭关键服务(systemctl stop相关服务)避免中断,更新后验证服务状态(systemctl status),检查日志文件排查异常,并通过lsb_release -a确认系统版本,建议定期执行安全加固操作,如更新内核、安装安全补丁(CVE漏洞修复),并优化防火墙规则(ufw或firewalld),操作期间注意监控服务器资源使用情况,防止磁盘空间或CPU过载导致升级失败。
《基于Linux云服务器的前后端分离项目全栈部署与运维实战指南》
(全文约2580字,包含7大核心模块,12项关键操作步骤)
项目背景与架构设计(287字) 在云原生架构趋势下,前后端分离模式已成为Web开发的标准实践,本文以SpringBoot+Vue3+Nginx的典型架构为例,详细阐述在Linux云服务器(以阿里云ECS为例)上的全栈部署流程。
1 系统选型依据
图片来源于网络,如有侵权联系删除
- 前端:Vue3+TypeScript(ES6+)+Vite构建工具
- 后端:SpringBoot 3.0+MyBatis Plus 3.5+JWT认证
- 数据库:MySQL 8.0集群(主从复制+读写分离)
- 部署工具:Docker 23.0.1+Kubernetes 1.28.3(可选)
- 监控平台:Prometheus+Grafana+ELK
2 云服务器规格建议
- CPU:4核8线程(推荐Intel Xeon)
- 内存:8GB(开发环境)/16GB(生产环境)
- 存储:200GB SSD(EBS)
- 网络带宽:1Gbps
- 安全组:开放80/443/22端口
环境准备阶段(326字) 2.1 系统基础配置
# 安装必要包 sudo apt install -y curl gnupg2 build-essential libssl-dev ca-certificates # 添加Docker仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装Docker sudo apt install -y docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER newgrp docker
2 部署目录结构
~/
├── project/
│ ├── front-end/ # Vue项目目录
│ ├── back-end/ # SpringBoot项目目录
│ ├── db/ # 数据库脚本
│ └── scripts/ # 自动化部署脚本
├── config/ # 环境配置文件
└── .env # 全局环境变量
前端部署专项(297字) 3.1 构建优化配置
vite.config.js export default defineConfig({ build: { outDir: 'dist production', // 产出目录结构 assetsDir: 'static', // 资产路径优化 rollupOptions: { plugins: [ // 压缩配置 { name: 'compress', transform: (code) => { return minify(code, { collapseWhitespace: true, removeComments: true, removeEmpty Attributes: true }) } } ] } } });
2 Nginx反向代理配置
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:5173; 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 /api/ { proxy_pass http://localhost:8080; proxy_set_header Path /api$uri; } }
后端部署方案(284字) 4.1 Docker容器化部署
# back-end/Dockerfile FROM openjdk:17-jdk-alpine # 构建JAR包 RUN javac -sourcepath src/main/java/ -d build classes.java COPY src/main/resources/ ./src/main/resources/ COPY build/ ./build/ # 启动脚本 CMD ["java","-jar","app.jar"]
2 多环境配置管理
# config application-prod.properties spring.datasource.url=jdbc:mysql://db1:3306/product?useSSL=false&serverTimezone=UTC spring.datasource.username=admin spring.datasource.password=秘钥@2023 # 熔断器配置 resilience4j.circuitbreaker熔断器配置: failureRateThreshold=50 waitTimeInMsWhenOpen=5000
数据库部署方案(259字) 5.1 MySQL集群搭建
# 主库安装 sudo apt install -y mysql-server sudo systemctl enable mysql # 配置文件修改 sudo nano /etc/mysql/my.cnf [mysqld] innodb_buffer_pool_size = 2G max_connections = 500 # 启动并初始化 sudo systemctl start mysql sudo mysql_secure_installation # 从库安装 docker run -d --name mysql从库 -v mysql从库:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=秘钥@2023 mysql:8.0
2 数据库安全加固
-- 修改用户权限 GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '秘钥@2023'; -- 创建读写分离 CREATE TABLESPACE db_data FILEGROUP 'db_data' ADD DATAFILE 'db_data1' size 1G; -- 配置主从复制 STOP SLAVE replication; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE replication;
安全防护体系(248字) 6.1 防火墙配置
# 允许SSH和HTTP/HTTPS sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 启用防火墙 sudo ufw enable
2 SSL证书部署(Let's Encrypt)
# 安装证书工具 sudo apt install certbot python3-certbot-nginx # 部署证书 sudo certbot --nginx -d example.com -d www.example.com
3 漏洞扫描配置
图片来源于网络,如有侵权联系删除
# 添加漏洞扫描任务 crontab -e 0 1 * * * sudo openVAS -s -c 2
监控与运维(235字) 7.1 Prometheus监控
# prometheus.yml global: scrape_interval: 15s evaluation_interval: 60s Alertmanager: path: /alertmanager static_configs: - targets: ['alertmanager:9093'] rule_files: - '规则文件1.yml' - '规则文件2.yml' scrape_configs: - job_name: 'web-service' static_configs: - targets: ['app:8080']
2 日志分析配置
# ELK集群搭建 docker-compose up -d elasticsearch logstash kibana # 日志格式配置 logstash.conf filter { grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} \[%{LOGLEVEL:level}\] %{GREEDYDATA:logmessage}" } } mutate { remove_field => [ "timestamp" ] } date { match => [ "timestamp", "ISO8601" ] } }
自动化部署方案(224字) 8.1 GitLab CI配置
# .gitlab-ci.yml stages: - build - deploy build_front-end: stage: build script: - cd front-end - npm install - npm run build deploy_back-end: stage: deploy script: - cd back-end - docker build -t springboot-app . - docker push springboot-app - docker-compose pull && docker-compose up -d
2 脚本化部署工具
# scripts/deploy.sh #!/bin/bash set -e # 前端部署 cd front-end && npm run build && rsync -avz dist/ root@server:/var/www/html/ # 后端更新 cd back-end && docker build -t springboot-app . && docker push springboot-app # 重启服务 sudo systemctl restart nginx springboot-app
性能优化策略(207字) 9.1 网络优化配置
# 优化配置 client_max_body_size 100M; keepalive_timeout 65; sendfile on; limit_req zone=global n=1000 m=60s;
2 缓存策略实施
# SpringCache配置 @CacheConfig(name = "productCache", cacheNames = "productCache") public class ProductController { @Cacheable(value = "productCache", key = "#id") public Product getProductById(Long id) { ... } }
3 JVM调优参数
# application-prod.properties server.tomcat.max-threads=200 server.tomcat.max-connections=1000 server.tomcat.max-keep-alive-connections=100 java_OPTS=-Xms512m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200
灾备与恢复方案(198字) 10.1 数据备份策略
# 每日定时备份 0 0 * * * sudo mysqldump -u admin -p秘钥@2023 -r /backup/db_$(date +%Y%m%d).sql
2 容器灾难恢复
# 快速重建容器 docker run -d --name springboot-app -v /var/www/html:/usr/share/nginx/html -p 8080:80 springboot-app
3异地多活部署
# 多节点配置 kubernetes-deployment.yaml minReplicas: 3 replicas: 5 spec: template: spec: containers: - name: app image: springboot-app ports: - containerPort: 8080 - name: elasticsearch image: elasticsearch:8.11.0 ports: - containerPort: 9200
本文构建了完整的Linux云服务器部署框架,涵盖从环境准备到灾备恢复的全生命周期管理,通过Docker容器化、自动化脚本、多维度监控等关键技术,实现了高效可靠的部署体系,实际应用中建议根据项目规模进行模块化裁剪,生产环境需增加CDN加速、WAF防护等高级配置,并建立完善的运维响应机制。
本文链接:https://zhitaoyun.cn/2272911.html
发表评论