在阿里云轻量应用服务器(Simple Application Server, SAS)上部署项目,通常遵循“系统准备 → 环境搭建 → 代码上传 → 服务运行 → 安全配置”的流程。以下是通用且详细的操作指南:
一、前期准备
-
购买并登录
- 在阿里云控制台购买轻量应用服务器(建议选择适合项目的操作系统,如 Ubuntu 22.04 LTS 或 CentOS 7/8)。
- 通过【远程连接】→ 使用 VNC 或 SSH 客户端(如 Xshell、FinalShell、Terminal)登录。
-
基础信息确认
- 记录公网 IP、端口(默认 22)、用户名(root 或自定义用户)。
- 确保防火墙已放行必要端口(如 Web 服务的 80/443,数据库的 3306 等)。
二、系统初始化与依赖安装
1. 更新系统 & 安装常用工具
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget vim unzip net-tools
# CentOS/RHEL
sudo yum update -y
sudo yum install -y git curl wget vim unzip net-tools
2. 根据项目类型安装运行环境
| 项目类型 | 推荐环境安装命令 |
|---|---|
| Node.js | curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejs |
| Python | sudo apt install -y python3 python3-pip python3-venv |
| Java (Spring Boot) | wget https://download.oracle.com/java/21/archive/jdk-21_linux-x64_bin.tar.gzsudo tar -xzf jdk-21_linux-x64_bin.tar.gz -C /opt/配置 JAVA_HOME 和 PATH |
| Go | wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gzsudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz |
| PHP | sudo apt install -y php-fpm php-mysql php-curl php-gd php-json |
| MySQL / PostgreSQL | sudo apt install -y mysql-server 或 postgresql |
| Nginx/Apache | sudo apt install -y nginx |
✅ 建议为每个项目创建独立虚拟环境(如 Python venv、Node nvm),避免版本冲突。
三、部署项目代码
方式一:Git 克隆(推荐)
git clone https://github.com/yourname/your-project.git
cd your-project
方式二:SCP 上传本地文件
# 本地终端执行(Windows PowerShell / Mac/Linux Terminal)
scp -r ./project-folder root@你的公网IP:/root/project
方式三:使用阿里云控制台「文件管理」
- 登录轻量应用服务器控制台 → 点击实例 → 「文件管理」→ 上传压缩包 → 解压。
四、启动项目服务
示例:Node.js + PM2
npm install
pm2 start app.js --name my-app
pm2 save
pm2 startup systemd # 开机自启(按提示执行)
示例:Python Flask + Gunicorn
pip install -r requirements.txt
gunicorn -w 4 -b 0.0.0.0:5000 app:app
示例:Spring Boot JAR
java -jar -Xms512m -Xmx1024m your-app.jar &
# 或使用 nohup 后台运行
nohup java -jar your-app.jar > app.log 2>&1 &
示例:Docker 部署(若已安装 Docker)
docker build -t my-project .
docker run -d -p 8080:8080 --name my-project my-project
五、配置反向X_X(Nginx)
将域名解析到服务器,并通过 Nginx 转发请求,支持 HTTPS。
1. 安装 Nginx
sudo apt install -y nginx
2. 配置站点(/etc/nginx/sites-available/myproject)
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000; # 替换为你的服务端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3. 启用并重启
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
4. 申请 SSL 证书(Let’s Encrypt)
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
六、安全加固(重要!)
-
修改默认 SSH 端口(可选但推荐)
编辑/etc/ssh/sshd_config→ 改Port 22→ 重启sudo systemctl restart sshd -
禁用 root 登录
# 先创建普通用户并赋予 sudo 权限 sudo adduser deploy sudo usermod -aG sudo deploy # 编辑 sshd_config: PermitRootLogin no -
配置防火墙(UFW)
sudo ufw allow 22/tcp # SSH sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw enable -
定期备份
- 使用
rsync或阿里云「快照」功能定时备份系统/数据。 - 数据库建议开启自动备份(部分镜像支持)。
- 使用
七、监控与维护
- 查看日志:
journalctl -u nginx,tail -f logs/app.log - 资源监控:
htop,df -h,free -m - 设置定时任务(crontab)做健康检查或日志清理
✅ 附加建议
- 使用 阿里云云助手 实现远程脚本执行(无需 SSH)。
- 结合 对象存储 OSS 存放静态资源或用户上传文件。
- 对于高可用需求,可考虑搭配 负载均衡 SLB + 多实例集群。
如你能提供具体项目类型(如:Vue+Express、Django+PostgreSQL、Spring Cloud 微服务等),我可以给出更精准的部署方案模板。需要吗?
轻量云Cloud