2026.07.29 — ARCHIVE — 3 MIN

Linux 入门:从 WSL 到服务器部署

学后端到最后总要碰服务器部署,Linux 命令是绕不开的。这里记录一下我学 Linux 的过程,从 WSL 起步到能用命令操作服务器。


Linux 入门:从 WSL 到服务器部署

学完 JavaWeb 之后,做了一个学生管理系统,跑通前后端,觉得还挺有成就感的。

然后问题来了:怎么部署到服务器上?

本地跑得好好的,放到服务器上就各种问题。

这才意识到,不懂 Linux,做后端开发等于瘸了一条腿。

于是开始学 Linux,从装 WSL 开始,一路摸爬滚打,总算能把项目部署上去了。


先从 WSL 开始

Windows 上直接装 Linux 不太现实,大多数人选择用 WSL(Windows Subsystem for Linux)。

装了 WSL 之后,你就是在 Windows 上跑了一个完整的 Linux 环境,可以在终端里用 Linux 命令,效果和真服务器差不多。

# 安装 WSL(PowerShell 管理员运行)
wsl --install

# 装完之后启动
wsl

启动后就是 Ubuntu 的终端了,输入 uname -a 可以看到内核信息。


最常用的一批命令

Linux 命令挺多的,但不需要全部记住。

日常开发用到的大概就这些:

目录操作

ls              # 列出当前目录
ls -la          # 列出详细信息(含隐藏文件)
cd /path        # 切换目录
mkdir dir       # 创建目录
mkdir -p a/b/c  # 递归创建多层目录

文件操作

cat file        # 查看文件内容
less file       # 分页查看大文件
head -n 10 file # 查看前 10 行
tail -f log     # 实时追踪日志文件
grep "error" log # 搜索包含 error 的行

tail -f 这个命令在服务器上特别常用,部署完项目直接 tail -f 看日志,出问题一目了然。

压缩解压

tar -czvf archive.tar.gz dir/   # 压缩
tar -xzvf archive.tar.gz        # 解压
zip -r out.zip dir/             # zip 压缩
unzip out.zip                   # zip 解压

.tar.gz 是最常用的格式,服务器上传下载项目包基本都用这个。

系统监控

df -h         # 磁盘使用情况
free -h       # 内存使用情况
top           # 进程和 CPU 监控
ps aux        # 查看所有进程
kill PID      # 终止进程

部署完项目第一件事就是 df -h 看磁盘够不够,free -h 看内存够不够。

权限管理

chmod 755 file    # 修改文件权限
chown user:group file  # 修改所有者
sudo command      # 以 root 权限执行

权限搞错了项目跑不起来,chmod +x script.sh 加执行权限是常做的事。


文本编辑器:vim 和 nano

服务器上改配置文件,基本离不开编辑器。

新手建议先学 nano,简单易用:

nano file.txt    # 打开文件
Ctrl+O           # 保存
Ctrl+X           # 退出

底部有操作提示,直观多了。

vim 功能更强但学习曲线陡,熟练之后效率很高。三种模式要记一下:

  • 普通模式(默认):移动光标、删除、复制
  • 插入模式(按 i):编辑文本
  • 命令模式(按 :):保存退出、查找替换

常用的几个:

i          # 进入插入模式
Esc        # 返回普通模式
dd         # 删除当前行
:q!        # 强制退出(不保存)
:wq        # 保存并退出
:%s/old/new/g  # 全文替换

SSH 远程连接服务器

学 Linux 绕不开的一个场景:连接远程服务器。

SSH(Secure Shell)就是干这个的,加密传输,安全连接。

# 连接服务器
ssh user@your-server-ip

# 指定端口(默认 22)
ssh -p 2222 user@your-server-ip

连接后就可以像本地一样操作服务器了。

为了安全,一般建议配置免密登录

# 本地生成密钥对
ssh-keygen -t rsa

# 把公钥上传到服务器
ssh-copy-id user@your-server-ip

配好之后就不用每次输入密码了,而且比密码更安全。


Linux 发行版:Ubuntu 和 CentOS

服务器常用的 Linux 发行版主要是两类:

Debian 系(Ubuntu、Debian):用 .deb 包,包管理器是 apt

apt update
apt install nginx

Red Hat 系(CentOS、RHEL、Fedora):用 .rpm 包,包管理器是 yumdnf

yum install nginx
# 或
dnf install nginx

新手推荐从 Ubuntu 入手,资料多,社区活跃,WSL 默认也是 Ubuntu。


项目部署流程

学了这些命令之后,就可以做项目部署了。

以我们的学生管理系统为例,部署流程大概是:

  1. 后端打包mvn clean package -DskipTests,生成 jar 包
  2. 前端构建npm run build,生成 dist 目录
  3. 上传到服务器:用 scpsftp
  4. 配置 Nginx:静态资源托管 + API 反向代理
  5. 启动服务java -jar app.jar & 或用 systemd 管理

其中最关键的是 Nginx 配置,解决跨域和静态资源问题:

server {
    listen 80;
    server_name your-domain.com;

    # 前端静态资源
    location / {
        root /var/www/myapp/dist;
        try_files $uri $uri/ /index.html;
    }

    # API 反向代理
    location /api/ {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

防火墙

服务器默认有防火墙,需要开放端口才能让外部访问。

Ubuntu 用 ufw

sudo ufw allow 80/tcp     # 开放 HTTP
sudo ufw allow 443/tcp    # 开放 HTTPS
sudo ufw allow 22/tcp     # SSH
sudo ufw enable           # 启用防火墙
sudo ufw status           # 查看状态

端口没开,网站打不开,这是新手经常踩的坑。


一句话总结

Linux 命令不用全部背,会用最常用的十几二十个就够了:

ls、cd、mkdir、rm、cat、less、tail、grep、tar、ssh、chmod、sudo

配合 WSL 本地练习,再用服务器真实操作,很快就能上手。

做后端开发,Linux 是基本功,绕不过去,早点学早点轻松。

End of plate