从 0 到 1:Debian 新服务器环境搭建全流程(Redis / MySQL / Nginx / Node / Python)
文章目录
在购买一台新的 Debian 云服务器后,无论你是部署 FastAPI、Vue、Java 还是 Node 项目,都需要先完成基础环境的搭建。本篇文章将一步一步带你完成:
- Python
- Node.js
- MySQL
- Redis
- Nginx
五大核心组件的安装
并讲清楚:为什么 Linux 安装软件不需要选择安装目录?软件到底安装在哪里?
适合运维新手、后端工程师、自建服务开发者阅读。
1.系统更新 & 基础工具安装
新机第一件事:更新软件源 + 安装基础工具。
sudo apt update
sudo apt upgrade -y
sudo apt install -y git curl wget vim htop build-essential
-y 表示自动回答 yes,不会卡住等待用户确认。
2.为什么 Linux 安装软件不需要选择安装目录?
与 Windows 不同,Linux 的软件安装是通过 APT + dpkg 包管理系统 完成的:
- 不需要询问安装目录
- 不需要你选择 “C盘 / D盘”
- 系统会自动把可执行文件、配置文件、日志文件放到标准位置
这是 Linux 的设计哲学之一:所有软件都遵循统一的目录结构,便于管理和维护。
软件一般会被放到以下目录:
| 目录 | 内容 |
|---|---|
/usr/bin/ |
普通可执行程序 |
/usr/sbin/ |
管理员可执行程序 |
/etc/<软件名>/ |
配置文件 |
/var/lib/<软件名>/ |
数据文件(MySQL 数据库、Redis 的 rdb/aof) |
/var/log/<软件名>/ |
日志文件 |
/lib/systemd/system/ |
systemd 服务管理文件 |
例如:
- Redis 配置:
/etc/redis/redis.conf - Redis 数据:
/var/lib/redis/ - MySQL 数据:
/var/lib/mysql/ - Nginx 配置:
/etc/nginx/nginx.conf
你完全不需要干预,也不建议手动更改系统目录的位置。
3.安装 Python(FastAPI 必备)
Debian 默认带 python,但最好补齐 pip 和 venv。
sudo apt install -y python3 python3-pip python3-venv
创建项目虚拟环境示例:
python3 -m venv /opt/myapp/backend/venv
source /opt/myapp/backend/venv/bin/activate
pip install fastapi uvicorn
4.安装 Node.js(构建 Vue 前端)
最简单方式直接用 APT:
sudo apt install -y nodejs npm
检查版本:
node -v
npm -v
若后续需要新版(如 Vue3),可以再改用 nvm,但此处先完成基础安装即可。
5.安装 MySQL
sudo apt install -y mysql-server
初始化配置:
sudo mysql_secure_installation
创建数据库与用户:
CREATE DATABASE myapp DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'StrongPassw0rd!';
GRANT ALL PRIVILEGES ON myapp.* TO 'myapp_user'@'localhost';
FLUSH PRIVILEGES;
MySQL 安装后目录结构:
| 文件内容 | 路径 |
|---|---|
| 配置文件 | /etc/mysql/ |
| 数据文件 | /var/lib/mysql/ |
| 日志文件 | /var/log/mysql/ |
| 主程序 | /usr/sbin/mysqld |
6.安装 Redis
sudo apt install -y redis-server
启动并设置开机自启:
sudo systemctl restart redis-server
sudo systemctl enable redis-server
测试:
redis-cli ping
Redis 目录结构:
| 内容 | 位置 |
|---|---|
| 配置 | /etc/redis/redis.conf |
| 数据 | /var/lib/redis/ |
| 日志 | /var/log/redis/ |
| 程序 | /usr/bin/redis-server |
7.安装 Nginx(作为前端静态资源服务器 + FastAPI 反代)
sudo apt install -y nginx
检查状态:
systemctl status nginx
站点目录:/var/www/ 为默认网站目录,你的 Vue 打包代码可以放在:
/var/www/myapp/
Nginx 配置目录:
/etc/nginx/sites-available/
启用网站:
/etc/nginx/sites-enabled/ ← 软链接
Nginx 日志:
/var/log/nginx/
你可以创建一个配置文件:
sudo vim /etc/nginx/sites-available/myapp.conf
配置 Vue 静态文件 + FastAPI 反向代理:
server {
listen 80;
server_name _;
root /var/www/myapp;
index index.html;
location /api/ {
proxy_pass http://127.0.0.1:8000;
}
location / {
try_files $uri $uri/ /index.html;
}
}
启用:
sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
8.安装目录总结(图表)
| 软件 | 配置文件 | 可执行文件 | 数据目录 | 日志目录 |
|---|---|---|---|---|
| Python | 项目自定义 | /usr/bin/python3 |
项目自定义 | 项目自定义 |
| Node/npm | /etc/(少量) |
/usr/bin/node |
项目目录 | 项目自定义 |
| MySQL | /etc/mysql/ |
/usr/sbin/mysqld |
/var/lib/mysql/ |
/var/log/mysql/ |
| Redis | /etc/redis/redis.conf |
/usr/bin/redis-server |
/var/lib/redis/ |
/var/log/redis/ |
| Nginx | /etc/nginx/ |
/usr/sbin/nginx |
/var/www/ |
/var/log/nginx/ |
9.安装软件需注意安装权限问题
apt install 必须用 root 权限,也就是:
- 你是 root 用户
或 - 你用
sudo apt install xxx
原因非常明确:apt 需要往系统目录写文件,而普通用户没有权限。
9.1 为什么必须用 sudo / root?
apt install 做的事情包括:
9.1.1 把程序安装到系统目录
如:
/usr/bin/
/usr/sbin/
/usr/lib/
/etc/<软件名>/
/var/lib/<软件名>/
/var/log/<软件名>/
普通用户 不能写入 这些目录。
9.1.2 创建 systemd 服务
如:
/lib/systemd/system/nginx.service
这个目录只能 root 写入。
9.1.3 修改系统级配置
如 /etc/apt/sources.list、软件源索引文件等。
普通用户没有权限。
9.2 什么情况下可以不用 sudo?
❶ 你本来就是 root 用户
如果你登录的是 root,那么命令前不需要 sudo:
apt install redis-server
等价于:
sudo apt install redis-server
判断你是不是 root:
whoami
如果输出:
root
那你就是 root。
9.3 普通用户不用 sudo 会发生什么?
直接试:
apt install redis-server
你会立刻收到:
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock
意思是:
- 没权限写系统目录
- 没权限锁定 dpkg
- 安装流程无法继续
9.4 推荐做法
你有三种可选方式:
方式一:使用 sudo(最常见)
sudo apt install -y nginx
方式二:切换到 root(省事)
sudo -i
然后直接装:
apt install -y nginx
退出 root:
exit
方式三:把用户加入 sudo 组(如果你没有权限)
如果你当前用户不是 sudoer,可以让 root 执行:
usermod -aG sudo your_username
apt 安装系统软件属于“系统级别操作”,必须用 root 权限(或 sudo),否则没有权限写系统目录。
更多推荐
所有评论(0)