【Linux我做主】Linux基本使用和程序部署:从零到上线,一文吃透服务器日常
大家好,我是重阳。上期我们扒了 fopen 到 open 的内核本质,今天直接落地实战:Linux 服务器怎么用?程序怎么部署?
不管你是运维小白、后端开发者,还是想把个人项目上线到 VPS/云服务器,这篇 2026 最新版 速成指南(基于 Ubuntu 22.04/24.04 或 CentOS Stream 9/RHEL 9)够你用一年!
1. Linux 目录结构速览(记住这张图就够了)
/
├── bin, sbin → 基本命令(ls, cp, mv...)
├── etc → 配置文件天堂(nginx.conf, systemd 服务)
├── home → 用户主目录(你的代码放这里!)
├── var → 日志、数据(/var/log, /var/www)
├── tmp → 临时文件
├── usr → 用户程序、库
├── opt → 第三方软件
├── proc, sys → 内核虚拟文件系统(实时看内存、进程)
└── dev → 设备文件
必背命令:pwd(当前路径)、cd ~(回家)、cd ..(上一级)、ls -la(看隐藏文件和权限)
2. Linux 常用命令速查表(复制粘贴就行)
系统信息 & 资源监控
| 命令 | 作用 | 示例 |
|---|---|---|
uname -a | 系统内核信息 | 查看版本 |
uptime | 系统运行时间 + 负载 | 看服务器忙不忙 |
free -h | 内存使用(人类可读) | 内存够不够 |
df -h | 磁盘空间 | 硬盘还剩多少 |
top / htop | 实时进程监控(推荐装 htop) | Ctrl+C 退出 |
ps aux | grep nginx | 找进程 | 查服务是否跑着 |
文件 & 目录操作(每天必用)
| 命令 | 作用 | 示例 |
|---|---|---|
ls -la | 列出所有文件+权限 | – |
pwd | 显示当前绝对路径 | – |
mkdir -p a/b/c | 递归创建目录 | – |
touch file.txt | 创建空文件 | – |
cp -r dir1 dir2 | 复制目录 | – |
mv old new | 移动/重命名 | – |
rm -rf dir | 强制删除(小心!) | – |
cat file / tail -f log | 查看/实时跟踪日志 | 看错误 |
权限 & 用户管理
| 命令 | 作用 | 示例 |
|---|---|---|
chmod 755 file | 权限(rwxr-xr-x) | 给执行权限 |
chown user:group file | 改拥有者 | – |
sudo su - | 切换 root | – |
adduser username | 新增用户 | – |
passwd username | 改密码 | – |
网络 & 下载
| 命令 | 作用 | 示例 |
|---|---|---|
ping 8.8.8.8 | 测试网络 | – |
curl -I baidu.com | 检查网站是否通 | – |
wget https://xx.tar.gz | 下载文件 | – |
scp file user@ip:/path | 远程复制文件 | 本地 → 服务器 |
ssh user@ip | 远程登录 | – |
搜索 & 进程
| 命令 | 作用 | 示例 |
|---|---|---|
find / -name "*.log" 2>/dev/null | 找文件 | – |
grep -r "error" /var/log | 递归搜索内容 | – |
kill -9 PID | 强制杀进程 | – |
pkill nginx | 按名字杀 | – |
3. 程序部署全流程(以常见语言为例,2026 最新推荐)
通用部署步骤(所有语言都一样)
- 登录服务器:
ssh root@你的IP - 更新系统:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo dnf update -y
- 安装常用工具:
sudo apt install curl wget git unzip htop -y - 上传代码:
scp -r ./myapp user@ip:/opt/myapp或用 git clone - 安装运行环境(见下面)
- 用 systemd 做后台服务(永不掉线!)
- 配置防火墙:
sudo ufw allow 22,80,443(Ubuntu)或firewall-cmd --add-service=http
具体语言部署(一行命令安装最新版)
Node.js(推荐 nvm 或 nodesource)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
cd /opt/myapp && npm install --production && pm2 start app.js # 或用 systemd
Python(推荐 pyenv + virtualenv)
sudo apt install python3-pip python3-venv -y
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
gunicorn -w 4 app:app # 或 uvicorn
Go(静态二进制,超简单)
# 编译好二进制上传
cd /opt/myapp
chmod +x myapp
# 直接运行或 systemd
Java(Spring Boot jar)
sudo apt install openjdk-21-jdk -y
java -jar app.jar --server.port=8080
Nginx 反代(推荐)
sudo apt install nginx -y
sudo systemctl start nginx
# /etc/nginx/sites-available/default 写 upstream + proxy_pass
4. systemd 部署神器(程序永不挂!)
创建服务文件(以 myapp.service 为例):
sudo nano /etc/systemd/system/myapp.service
内容(通用模板):
[Unit]
Description=My Awesome App
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/myapp # 或 /usr/bin/node app.js
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
启动命令:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp # 开机自启
sudo systemctl status myapp # 查看日志
journalctl -u myapp -f # 实时日志
5. 部署后必做优化 & 监控
- 安全:改 SSH 端口、禁用 root 登录、装 fail2ban
- 监控:
htop+netdata(一键安装:bash <(curl -Ss https://get.netdata.cloud/kickstart.sh)) - 日志:
journalctl或tail -f /var/log/nginx/error.log - 备份:
rsync+ crontab 定时 - 一键脚本:写个
deploy.sh用git pull && systemctl restart myapp
一句话总结:
Linux = 命令 + 文件 + systemd。掌握上面 30 个命令 + systemd 模板,你就从“只会点鼠标”变成“服务器我做主”!
想看 Docker 部署版、Kubernetes 一键上线、Nginx + HTTPS + Let’s Encrypt 还是 AI 模型(Ollama/vLLM)本地部署?
评论区打数字 1/2/3/4,我下一期立刻出!🚀
推荐资源:
- 菜鸟教程 Linux 命令大全
- 鸟哥私房菜(最经典)
man command(永远的神)
Linux 我做主,咱们服务器见!💻