在阿里云轻量应用服务器(Simple Application Server, SAS)上部署项目,通常遵循“购买实例 → 连接服务器 → 安装环境 → 上传代码 → 启动服务”的标准流程。由于轻量服务器预装了常用镜像且操作简化,适合个人开发者或中小项目快速上线。
以下是详细步骤指南:
一、准备工作
-
购买并创建实例
- 登录 阿里云控制台
- 进入「轻量应用服务器」→「创建实例」
- 选择操作系统(推荐 Ubuntu 22.04 LTS 或 CentOS Stream 9)
- 配置带宽(建议 ≥2Mbps)、磁盘等
- 设置 root 密码或使用密钥对(SSH 更安全)
-
获取访问信息
- 创建成功后,记录:公网 IP 地址、端口(默认 22)、用户名(root 或 admin)
二、连接服务器
使用 SSH 客户端连接:
ssh root@<你的公网IP>
# 若使用密钥登录:
ssh -i /path/to/your-key.pem root@<你的公网IP>
✅ 提示:首次连接需确认主机指纹,输入
yes即可。
三、安装运行环境(以常见技术栈为例)
场景 A:Node.js + Nginx + PM2(前端/全栈项目)
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Node.js(使用官方源)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# 安装 Nginx
sudo apt install nginx -y
# 安装 PM2(进程管理器)
sudo npm install pm2 -g
# 安装 Git(用于拉取代码)
sudo apt install git -y
场景 B:Java + Maven + Tomcat/Spring Boot
# 安装 JDK(以 OpenJDK 17 为例)
sudo apt install openjdk-17-jdk -y
java -version
# 安装 Maven(可选,若用 Spring Boot 可跳过)
sudo apt install maven -y
场景 C:Python + Flask/Django + Gunicorn
# 安装 Python 3.10+
sudo apt install python3.10 python3-pip -y
# 创建虚拟环境
python3.10 -m venv venv
source venv/bin/activate
# 安装依赖
pip install flask gunicorn
四、部署项目代码
方式 1:Git 拉取(推荐)
cd ~
git clone https://github.com/your-username/your-repo.git
cd your-repo
方式 2:本地打包上传(SFTP/SCP)
# 本地执行(Windows 可用 WinSCP 或 FileZilla)
scp -r ./project root@<你的公网IP>:~/project/
🔐 安全建议:
- 不要将
.env、密钥文件直接提交到 Git- 使用
rsync增量同步大项目更高效
五、配置与启动服务
示例:PM2 管理 Node.js 项目
pm2 start app.js --name my-app
pm2 save
pm2 startup systemd # 生成开机自启命令,按提示执行
示例:Nginx 反向X_X(前后端分离)
编辑配置文件:
sudo nano /etc/nginx/sites-available/myapp
添加内容:
server {
listen 80;
server_name your-domain.com; # 或 IP
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
}
}
启用并重启:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
示例:Docker 部署(更灵活)
# 安装 Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
# 编写 Dockerfile(在项目根目录)
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
# 构建并运行
docker build -t my-app .
docker run -d -p 3000:3000 --name my-app-container my-app
六、开放防火墙与安全组
轻量服务器默认已开启部分端口,但需确保:
- 80/443(HTTP/HTTPS)
- 自定义应用端口(如 3000、8080)
- SSH 22(仅允许你信任的 IP,避免暴力破解)
👉 操作路径:
控制台 → 轻量应用服务器 → 点击实例 → 「防火墙规则」→ 添加入站规则
⚠️ 重要:生产环境务必配置 HTTPS(可用 Let’s Encrypt + Certbot)
七、监控与维护
- 查看日志:
journalctl -u nginx/pm2 logs - 资源监控:
htop,free -h,df -h - 定期备份:
tar czf backup.tar.gz ~/project - 自动更新:配置
unattended-upgrades(Ubuntu)
附加建议
| 需求 | 推荐方案 |
|---|---|
| 域名解析 | 在 DNS 服务商绑定 A 记录指向服务器 IP |
| HTTPS 证书 | certbot --nginx -d your-domain.com |
| 数据库 | 可自建 MySQL/Redis,或改用阿里云 RDS/PolarDB(更高可用性) |
| CI/CD | 结合 GitHub Actions + SSH 自动部署 |
需要我针对你的具体技术栈(如 Vue3 + Spring Boot、Go + PostgreSQL、WordPress 等)提供定制化部署脚本吗?欢迎告诉我你的项目类型 😊
云知道CLOUD