在阿里云轻量应用服务器(Simple Application Server)上部署项目,通常遵循“系统初始化 → 环境搭建 → 代码上传 → 服务启动 → 安全配置”的流程。以下是通用且高效的部署步骤:
一、准备工作
-
购买并创建实例
- 登录 阿里云控制台
- 进入「轻量应用服务器」→ 点击「创建实例」
- 选择操作系统(推荐 Ubuntu 22.04 LTS 或 CentOS 7/8)、镜像(可含 Web 环境的一键镜像如 LAMP/LNMP)、带宽(按流量或固定带宽)、地域等
- 设置 root 密码或 SSH 密钥对(强烈建议用密钥对登录)
-
获取访问信息
- 创建成功后,记录:公网 IP、用户名(默认
root)、端口(SSH 默认 22)
- 创建成功后,记录:公网 IP、用户名(默认
二、连接服务器
ssh root@<你的公网IP>
# 或使用密钥登录:
ssh -i ~/.ssh/id_rsa root@<你的公网IP>
✅ 建议首次登录后立即修改 root 密码或禁用 root 登录,改用普通用户 + sudo 权限。
三、基础环境安装(以 Linux 为例)
方式 A:使用一键镜像(推荐新手)
- 创建时选择「LAMP」或「LNMP」镜像,已预装 Apache/Nginx + MySQL + PHP/Java 等,跳过手动安装环节。
方式 B:手动安装(灵活可控)
# 更新系统
sudo apt update && sudo apt upgrade -y # Ubuntu
# 或
sudo yum update -y # CentOS
# 安装 Nginx
sudo apt install nginx -y # Ubuntu
# 或
sudo yum install nginx -y # CentOS
# 安装 Java(若为 Spring Boot 项目)
sudo apt install openjdk-17-jdk -y # 示例 JDK 17
# 安装 Node.js(若为前端/Vue/Express)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install nodejs -y
# 安装 Docker(可选,适合容器化部署)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
四、部署项目
场景 1:静态网站 / 简单后端(无容器)
- 上传项目代码(推荐使用
scp或rsync):scp -r ./my-project root@<公网IP>:/var/www/myapp -
配置 Nginx(以
/etc/nginx/sites-available/default为例):server { listen 80; server_name your-domain.com; # 替换为你的域名或 IP location / { root /var/www/myapp/dist; # 前端构建目录 index index.html; try_files $uri $uri/ /index.html; # SPA 路由支持 } location /api { proxy_pass http://localhost:3000; # 反向X_X到 Node/Java 服务 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } - 启用配置并重启:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx
场景 2:Spring Boot / Node.js 等后台服务
- 上传 jar/npm 包后解压
-
使用
systemd管理进程(持久化运行):# /etc/systemd/system/myapp.service [Unit] Description=My Spring Boot App After=network.target [Service] User=root WorkingDirectory=/opt/myapp ExecStart=/usr/bin/java -jar myapp.jar Restart=always Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk" [Install] WantedBy=multi-user.targetsudo systemctl daemon-reload sudo systemctl enable myapp sudo systemctl start myapp sudo systemctl status myapp
场景 3:Docker 部署(推荐生产环境)
# 拉取镜像并运行
docker run -d
--name myapp
-p 80:80
-v /var/www/myapp/config:/config
myapp-image:latest
# 或用 docker-compose.yml
version: '3'
services:
web:
image: myapp:latest
ports:
- "80:80"
volumes:
- ./config:/config
restart: always
五、安全与网络配置
1. 开放防火墙端口(轻量服务器自带云盾防火墙)
- 控制台 → 实例详情 → 「防火墙」→ 添加规则:
- 允许
TCP 80、TCP 443(HTTP/HTTPS) - 仅开发调试时可临时开放
22(生产环境建议限制来源 IP)
- 允许
2. 配置 HTTPS(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com
# 自动续期由 cron 完成(certbot 已配置)
3. 域名解析(可选)
- 在阿里云 DNS 控制台添加 A 记录:
your-domain.com→<实例公网IP>
六、监控与维护
- 查看日志:
tail -f /var/log/nginx/error.log journalctl -u myapp -f - 定期备份:
tar czf ~/backup-$(date +%F).tar.gz /var/www/myapp # 可结合阿里云对象存储 OSS 自动同步
💡 小贴士
- 轻量应用服务器适合中小规模项目;高并发/复杂架构建议迁移至 ECS + SLB + RDS 组合。
- 所有操作建议先在测试环境验证,再上线生产。
- 开启「快照」功能定期备份实例(控制台 → 快照 → 创建)。
需要我针对某类具体项目(如 Vue+SpringBoot、Python Flask、WordPress 等)提供详细部署脚本吗?欢迎告诉我你的技术栈 😊
云服务器