远程服务器部署不是运维的专利
很多人觉得远程服务器部署是运维团队的事,写完代码丢给后端就完事了。但现实是,很多小团队甚至个人项目,都得自己动手把应用放到云上跑起来。比如你开发了个博客系统,想让朋友访问,就得把它部署到远程服务器上。
这个过程听起来复杂,其实核心步骤就那么几步:准备服务器、上传代码、配置运行环境、启动服务。只要搞清楚流程,谁都能上手。
选台服务器,就像租个房间
第一步是有一台远程服务器。现在主流是用云厂商的服务,比如阿里云、腾讯云、AWS。买个最便宜的入门级实例就行,每月几十块,够你折腾大多数项目。
买好之后你会拿到一个公网 IP,还有 root 用户的密码或者密钥。这就相当于拿到了房间的门卡和地址,接下来你要做的就是搬东西进去。
用 SSH 登录,和服务器对话
打开终端,输入:
ssh root@你的服务器IP如果配了密钥,可能还要加上 -i 参数指定私钥文件。成功登录后,你就进入了服务器的操作系统,通常是个精简版的 Linux。这时候你可以用 ls、cd 这些基础命令看看环境,就像在本地操作一样。
把代码传上去,方式不止一种
代码怎么从你电脑跑到服务器?常用几种方法:
一是用 scp 命令直接拷贝:
scp -r ./myapp root@服务器IP:/root/这会把本地 myapp 文件夹整个复制到服务器的 /root/ 目录下。二是用 Git。先在服务器上安装 Git,然后 clone 你的项目仓库。适合经常更新的项目,改完代码推到 GitHub,服务器上拉一下就行:
git clone https://github.com/yourname/myapp.git装依赖、跑服务,让程序动起来
代码传上去只是第一步。如果是 Node.js 项目,进目录执行:
npm install
npm startPython 的 Flask 或 Django 项目也类似,先装依赖:pip install -r requirements.txt再启动服务。注意监听地址要设成 0.0.0.0,不然只能本地访问。Java、Go 这类编译型语言,就在本地打好包,传到服务器直接运行二进制文件,更省事。
守护进程不能少,断了也得自动重启
直接运行程序有个问题:你一关终端,进程就停了。解决办法是用进程管理工具,比如 PM2(Node.js)或 systemd(通用)。
用 PM2 启动 Node 服务:
pm2 start app.js --name "my-blog"以后就能用 pm2 restart my-blog 控制它,关机也不会丢。开放端口,让外人能访问
服务跑起来了,但不一定能从外面访问。检查防火墙和云平台的安全组设置,确保你用的端口(比如 3000、8080)是开放的。
比如你的应用跑在 3000 端口,就得在阿里云控制台加一条规则:允许 TCP 3000 端口入方向。不然别人一访问就超时,你还找不到原因。
域名+反向代理,体验更顺
直接输 IP 和端口太难记。可以买个便宜域名,解析到服务器 IP,再用 Nginx 做反向代理。
比如把 example.com 指向你的服务器,Nginx 配置一下:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}这样别人访问 example.com 就能看到你的网站,连端口都不用写。远程服务器部署没那么神秘,就是一步步把程序从本地搬到线上。动手试一次,下次就不会慌了。