2024版 Linux 0基础手把手(安装部署+项目实战)百度网盘下载

73 阅读4分钟

2024版Linux零基础实战指南:从安装部署到项目落地

Linux作为现代IT基础设施的核心,已成为开发者、运维工程师和云计算专家的必备技能。本文将手把手带领零基础学员完成Linux的系统性学习,涵盖最新发行版安装、日常运维、Shell编程到项目部署全流程,并提供可直接运行的实战代码示例。

一、Linux安装与初始化配置

1.1 发行版选择建议(2024年)

  • 初学者推荐:Ubuntu 24.04 LTS(图形界面友好)
  • 服务器首选:CentOS Stream或Rocky Linux 9
  • 轻量级选择:AlmaLinux或Debian 12

1.2 双系统安装示例

# 使用Ventoy制作启动U盘(通用方法)
sudo apt install ventoy  # Ubuntu/Debian
sudo dnf install ventoy  # CentOS/RHEL

# 分区建议(50GB以上空间):
# /boot     1GB
# swap      内存1.5倍
# /        剩余空间

1.3 基础配置命令

# 首次登录后必做配置
sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
sudo dnf update -y                     # RHEL系

# 设置时区(亚洲上海)
sudo timedatectl set-timezone Asia/Shanghai

# 创建日常用户
sudo useradd -m -s /bin/bash devuser
sudo passwd devuser
sudo usermod -aG sudo devuser  # 授予管理员权限

二、Linux文件系统与日常操作

2.1 文件权限管理

# 权限数字表示法(课程重点)
chmod 755 script.sh  # rwxr-xr-x
chmod 644 config.txt # rw-r--r--

# 递归修改目录权限
find /path/to/dir -type d -exec chmod 755 {} \;
find /path/to/dir -type f -exec chmod 644 {} \;

# 特殊权限设置
sudo chmod +s /usr/bin/myprogram  # SetUID
sudo chmod +t /tmp                # Sticky Bit

2.2 实用工具组合

# 查看CPU占用最高的进程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6

# 实时监控网络连接
sudo apt install nethogs  # Ubuntu
sudo nethogs eth0

# 查找大文件(大于100MB)
find / -type f -size +100M -exec ls -lh {} \;

三、Shell脚本编程实战

3.1 自动化备份脚本

#!/bin/bash
# 备份MySQL数据库(需提前配置my.cnf)
BACKUP_DIR="/var/backups/mysql"
DATE=$(date +%Y%m%d)
MYSQL_USER="backup_user"
MYSQL_PASS="secure_password"

if [ ! -d "$BACKUP_DIR" ]; then
  mkdir -p $BACKUP_DIR
fi

databases=$(mysql -u$MYSQL_USER -p$MYSQL_PASS -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)")

for db in $databases; do
  mysqldump -u$MYSQL_USER -p$MYSQL_PASS --single-transaction $db | gzip > "$BACKUP_DIR/$db-$DATE.sql.gz"
done

# 删除7天前的备份
find $BACKUP_DIR -type f -mtime +7 -delete

echo "备份完成于 $(date)" >> /var/log/backup.log

3.2 服务监控脚本

#!/bin/bash
# 监控Nginx服务状态
SERVICE="nginx"
EMAIL="admin@example.com"

if systemctl is-active --quiet $SERVICE; then
  echo "$SERVICE is running"
else
  echo "$SERVICE is not running, attempting restart..."
  systemctl start $SERVICE
  mail -s "$SERVICE 服务异常重启" $EMAIL < /var/log/nginx/error.log
fi

四、项目部署实战

4.1 Docker部署Node.js应用

# 安装Docker(通用方法)
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER

# 创建项目目录
mkdir -p ~/myapp && cd ~/myapp

# 编写Dockerfile
cat > Dockerfile <<EOF
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
EOF

# 构建并运行
docker build -t myapp .
docker run -d -p 3000:3000 --name myapp_container myapp

4.2 Nginx反向代理配置

# /etc/nginx/conf.d/myapp.conf
upstream node_app {
  server localhost:3000;
}

server {
  listen 80;
  server_name myapp.example.com;

  location / {
    proxy_pass http://node_app;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }

  # 静态文件缓存
  location ~* \.(jpg|css|js)$ {
    expires 30d;
    add_header Cache-Control "public";
  }
}

五、安全加固指南

5.1 SSH安全配置

# 修改/etc/ssh/sshd_config
Port 2222  # 更改默认端口
PermitRootLogin no
PasswordAuthentication no  # 强制密钥登录
MaxAuthTries 3
ClientAliveInterval 300

# 生成SSH密钥对(客户端执行)
ssh-keygen -t ed25519
ssh-copy-id -p 2222 devuser@server_ip

5.2 防火墙设置

# UFW防火墙(Ubuntu)
sudo ufw allow 2222/tcp  # SSH
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw enable

# firewalld(CentOS)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

六、学习路径建议

6.1 30天学习计划

gantt
    title Linux学习路线图
    dateFormat  YYYY-MM-DD
    section 基础阶段
    安装与配置       :done, a1, 2024-01-01, 3d
    文件系统操作     :done, a2, after a1, 5d
    用户权限管理     :done, a3, after a2, 4d
    section 进阶阶段
    Shell编程       :active, a4, 2024-01-13, 7d
    服务部署        :         a5, after a4, 5d
    安全加固        :         a6, after a5, 6d

6.2 推荐实战项目

  1. 个人博客系统:LAMP环境部署WordPress
  2. 监控告警平台:Prometheus+Grafana
  3. 自动化运维工具:Ansible剧本编写
  4. 云存储服务:Nextcloud私有云部署

2024年Linux学习应重点关注:

  • 容器化技术(Docker/Podman)
  • 基础设施即代码(Terraform)
  • 云原生工具链(Kubernetes)
  • 安全合规实践(CIS基准)

记住Linux学习的黄金法则:"理解原理比记住命令更重要"。建议每天:

  1. 在真实环境操作而非模拟器
  2. 记录问题解决过程形成笔记
  3. 定期复盘整理知识体系
  4. 参与开源社区贡献PR

通过这套系统化的学习方法,零基础学员可在2-3个月内达到企业级Linux运维的初级水平,为后续的DevOps或云计算学习打下坚实基础。