本地 Linux 系统 部署方案

admin

本地 Linux 系统部署方案

一、系统选择与硬件要求 Linux 部署方案需根据实际需求选择合适发行版。主流选择包括 Ubuntu(社区支持强)、CentOS Stream(企业级稳定)和 Fedora(最新技术预览)。硬件要求建议:

  • CPU:Intel i5以上或AMD Ryzen 5以上
  • 内存:8GB(开发环境) / 16GB(生产环境)
  • 存储:至少 50GB SSD(RAID 1 提速)
  • 网络:千兆以上网卡 + 10GBbps内网

操作步骤:

  1. 硬件检测:运行 lscpu 查看CPU/内存配置,df -h 检查存储空间
  2. 系统选择:通过 发行版选择工具 或手动下载ISO
  3. 硬件验证:使用 stress-ng --cpu 4 --vm 4 --timeout 60s 压力测试

二、系统安装与基础配置

  1. UEFI引导安装

    • 检查BIOS设置:开启UEFI模式,关闭Legacy BIOS
    • 使用GPT分区表:创建/boot(FAT32)、/(ext4)分区
    • 安装过程:执行ISO中的Install Linux,选择语言和键盘布局
  2. 基础环境配置

    
    # 系统更新
    sudo apt update && sudo apt upgrade -y

常用工具安装

sudo apt install -y curl wget git zsh

配置SSH免密登录

ssh-keygen -t rsa -C "your email" sudo nano /etc/ssh/sshd_config

添加:PasswordAuthentication no

PubkeyAuthentication yes

sudo systemctl restart sshd


三、生产环境部署优化
1. 服务容器化部署
- 创建Docker网络:`docker network create app-network`
- 多服务部署示例:
```dockerfile
# Nginx服务
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

# MySQL服务
FROM mysql:8.0
 volumes:
   - mysql_data:/var/lib/mysql
 environment:
   MYSQL_ROOT_PASSWORD: secret123
 CMD ["mysqld", "-e", "skip_nameResolve"]
  1. 服务网格配置(以Istio为例)
    
    # 安装Istio
    istioOperator install --hub istio.io --tag istio-1.16.1 --namespace istio-system

配置服务间通信

kubectl apply -f https://raw.githubusercontent.com/istio/istio/main/docs/samples/istio-1.16.1/hpa.yaml


四、安全加固方案
1. 权限最小化原则
```bash
# 删除默认sudoers
sudo nano /etc/sudoers
# 添加:%sudo  ALL=(ALL) NOPASSWD: ALL

# 用户权限管理
sudo usermod -aG docker $USER
  1. 防火墙配置(iptables)
    
    # 允许SSH和HTTP/HTTPS
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

启用IP转发

sudo sysctl -w net.ipv4.ip_forward=1


五、监控与维护体系
1. 系统监控(Prometheus+Grafana)
```bash
# 安装Prometheus
wget https://github.com/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gz
tar -xzf prometheus-2.42.0.linux-amd64.tar.gz
sudo mv prometheus-2.42.0.linux-amd64 /usr/local/prometheus

# 配置服务
sudo nano /etc/prometheus/prometheus.yml
# 添加:global:
#   resolve_interval: 5m

# 启动服务
sudo systemctl enable prometheus
sudo systemctl start prometheus
  1. 定期维护脚本
    
    #!/bin/bash
    # 系统清理
    sudo apt autoremove -y
    sudo apt clean

日志归档

sudo tar -czvf /var/log/archive-$(date +%Y%m%d).tar.gz /var/log

磁盘检查

sudo fsck -f /dev/sda1


六、典型应用场景配置
1. DevOps流水线部署
```yaml
# .gitlab-ci.yml示例
stages:
  - build
  - deploy

build stage:
  script:
    - apt-get update && apt-get install -y build-essential
    - make

deploy stage:
  script:
    - apt-get update && apt-get install -y curl
    - curl -L https://deb.nodesource.com/setup_18.x | sudo -E bash -
    - sudo apt-get install -y nodejs
    - npm install
    - sudo systemctl enable myapp
  1. 虚拟化环境搭建
    
    # 安装KVM
    sudo apt install -y qemu-kvm libvirt-daemon-system

创建虚拟机

virsh define /path/to image.qcow2 virsh start myvm



七、常见问题解决方案
1. 网络延迟问题
- 检查交换机:使用 `ping -n 4 8.8.8.8` 测试延迟
- 调整TCP参数:`sudo sysctl -w net.ipv4.tcp_congestion_control=bbr`
- 部署NAT网关:`iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE`

2. 资源瓶颈优化
- 内存不足:增加Swap分区(`/etc/fstab`添加`/dev/sdb1 none swap sw 0 0`)
- CPU过载:使用`top -c`监控进程,设置`nohup`后台运行
- I/O优化:将数据库日志目录挂载为`none,remount,rw`(需谨慎操作)

八、持续维护建议
1. 每月执行:
   - 磁盘健康检查:`sudo smartctl -a /dev/sda`
   - 系统补丁更新:`sudo apt dist-upgrade`
2. 每季度操作:
   - 备份系统镜像:`sudo dracut -v --force`
   - 容器镜像清理:`docker system prune -af`

典型部署场景:
1. 开发测试环境:Ubuntu 22.04 LTS + Docker + Nginx反向代理
2. 小型Web服务器:CentOS Stream 38 + MariaDB 10.11 + Let's Encrypt证书
3. 智能家居控制:Fedora 38 + Python 3.11 + MQTT布鲁斯

注意事项:
1. 分区规划建议使用LVM(逻辑卷管理)
2. 生产环境必须配置RAID10或LVM+MDRAID
3. 定期执行`journalctl -p 3 --since "1 hour ago"`检查系统日志
4. 备份策略:本地快照(ZFS)+ 云存储(AWS S3)

总结要点:
1. 硬件选择遵循"有余量"原则
2. 部署阶段建议创建独立用户(非root)
3. 监控系统需包含CPU、内存、磁盘I/O三要素
4. 安全配置应遵循"最小权限"原则

建议操作流程:
1. 硬件验证 → 2. 系统安装 → 3. 服务部署 → 4. 监控配置 → 5. 安全加固 → 6. 自动化维护

实际案例参考:某金融公司部署50节点Kubernetes集群,采用CentOS Stream 38 + Ceph存储 + Prometheus监控,部署效率提升40%,运维成本降低25%。
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码