第3章:环境准备 — Linux服务器配置、Docker安装与环境依赖
环境搭建这事儿,看着琐碎,但真容易出问题。我见过太多项目,代码写得挺好,结果部署时卡在环境不一致上。
说白了,这一章就是给你的项目找个稳定的家。我们得让它在哪儿跑都一样。这就是Docker的价值。我个人习惯,所有后端项目都容器化。省心。
3.1 硬件与操作系统选型
先说说硬件。这个项目对资源要求不高,但别太抠门。
- CPU:2核起步,4核更稳。
- 内存:4GB够用,8GB舒服。
- 磁盘:20GB空间。要是跑生产环境,SSD是必须的。
操作系统呢,我建议用 Ubuntu 22.04 LTS。为啥?社区活跃,文档全,遇到坑容易搜到答案。CentOS 7也行,但2024年已停止维护,新项目就别用了。
3.2 Linux服务器基础配置
拿到一台新服务器,别急着装软件。先做几件基本的事。
3.2.1 更新系统包
这是老生常谈了。但很多人真的跳过这一步,结果后面装啥都报错。
sudo apt update && sudo apt upgrade -y
3.2.2 安装常用工具
有些工具是系统自带的,但有些得自己装。我这里列个清单。
sudo apt install -y curl wget vim git net-tools
嗯,vim可能有人不习惯。但你想想看,服务器上没图形界面,总得会个文本编辑器吧。我个人一直用vim,习惯了就好。
3.2.3 配置防火墙
千万别裸奔。开放必要的端口就够了。
sudo ufw allow 22/tcp # SSH
sudo ufw allow 2375/tcp # Docker(注意,这个别在生产环境开)
sudo ufw enable
3.3 安装Docker
Docker安装不难。但有几个细节你得留意。
3.3.1 卸载旧版本
先确认一下系统里有没有装过老版本。
sudo apt remove docker docker-engine docker.io containerd runc
3.3.2 用官方脚本安装(推荐)
这是最快的方法。一行命令搞定。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
我习惯用这个方式。它自动检测你的系统,装对应版本。省得自己找源。
3.3.3 验证安装
sudo docker --version
sudo docker run hello-world
见到“Hello from Docker!”那行字,说明装好了。
3.3.4 免sudo运行Docker
每次敲sudo docker很烦。把当前用户加到docker组就行。
sudo usermod -aG docker $USER
# 然后退出登录,重新连
newgrp docker 临时切换。但重启后还是得重新执行。
3.4 安装Python 3.10+
Docker里用Python很方便。但本地开发环境也得配好。我建议装 Python 3.11。3.10也行,但3.11性能更好,而且语法糖更多。
3.4.1 检查系统自带Python
Ubuntu 22.04默认装的是Python 3.10。你可以看看版本。
python3 --version
如果版本太低,或者你想装3.11,可以这样。
3.4.2 用deadsnakes PPA安装Python 3.11
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11 python3.11-venv python3.11-dev
deadsnakes这个PPA很靠谱。我一直在用。它提供各种Python版本的官方包。
3.4.3 设置默认Python版本(可选)
你如果想让python3指向3.11,可以改一下。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
sudo update-alternatives --config python3
3.5 安装项目依赖
项目依赖包括两部分:系统级依赖和Python包。
3.5.1 系统依赖
有些Python库需要编译。所以C编译器、开发头文件都得有。
sudo apt install -y build-essential libssl-dev libffi-dev
3.5.2 Python包管理
我推荐用 pip 加 虚拟环境。别全局装包,会乱。
python3.11 -m venv venv
source venv/bin/activate
pip install --upgrade pip
到这步,你的开发环境就搭好了。后面再装具体项目的依赖。
3.6 知识体系总览
这一章的内容,我用一张图串起来。你看看就明白了。
核心要点:开发环境 = 操作系统 + Docker + Python。三者缺一不可。Docker保证环境一致,Python负责逻辑实现。操作系统是地基。
3.7 检查清单
搭完别急着写代码。用这个清单过一遍。
| 检查项 | 验证命令 | 预期结果 |
|---|---|---|
| 系统版本 | lsb_release -a |
Ubuntu 22.04 LTS |
| Docker运行 | docker run hello-world |
Hello from Docker! |
| Python版本 | python3 --version |
Python 3.11.x |
| 虚拟环境 | python3 -m venv test-venv |
目录创建成功 |
嗯,到这儿环境就齐了。你可能觉得这一步麻烦。但我跟你说,这一步扎实了,后面能省你80%的排错时间。我自己每次新项目都从这模板走一遍,从没出过岔子。