新手小白部署阿里云服务器
前提条件已购买阿里云 ECS 云服务器或轻量应用服务器系统为 Linux推荐 Ubuntu 22.04 / CentOS 7本地电脑可 SSH 连接服务器你的项目代码已准备好例如在 GitHub 或本地 第一步登录服务器1. 获取公网 IP在阿里云控制台 → 云服务器 ECS → 实例 → 找到你的公网 IP 地址2. 用 SSH 登录Windows 可用 PowerShell / XshellMac/Linux 用终端bashssh root你的公网IP输入密码或使用密钥⚠️ 首次登录建议创建普通用户安全但为简化这里用root 第二步配置安全组关键在阿里云控制台❗ 如果不开放端口外网无法访问你的服务进入ECS 实例 → 安全组 → 配置规则开放端口根据你的项目HTTP:80HTTPS:443自定义端口如 Flask 默认 50005000SSH:22已默认开放 第三步安装必要软件以Ubuntu 22.04为例CentOS 用yum替代aptbash# 更新系统 apt update apt upgrade -y # 安装 Git、Python、pip、Nginx反向代理用 apt install -y git python3 python3-pip nginx # 检查 Python 版本 python3 --version其他项目类型Node.js安装nodejs npmJava安装openjdk-17-jdk静态网站只需 Nginx 第四步上传并部署你的项目方式 A从 GitHub 克隆推荐bashcd /root git clone https://github.com/你的用户名/你的项目.git cd 你的项目方式 B本地上传用scp使用本地地址bash# 本地终端执行非服务器 scp -r ./my_project root你的IP:/root/例子✅ 方法使用scp命令Secure Copyscp是基于 SSH 的安全文件传输命令直接通过终端就能把本地文件夹或文件上传到服务器不需要额外工具Windows 10/11、macOS、Linux 都自带。 操作步骤以你的本地项目为例假设你的本地项目路径是C:\my_projectWindows或/Users/yourname/my_projectMac/Linux你的阿里云服务器公网 IP是47.95.123.45你用的用户名是root也可以是其他用户️ 在你本地电脑的终端/命令行执行▶️ WindowsPowerShell 或 CMDpowershell# 注意路径用正斜杠 / 或双反斜杠 \\ scp -r C:/my_project root47.95.123.45:/root/如果提示scp不是命令旧版 Windows可改用WSL或安装 OpenSSH 客户端。安装依赖以 Python Flask 为例bashpip3 install -r requirements.txt▶️ 第五步运行你的项目临时测试bash# Flask 示例确保 app.py 中 host0.0.0.0 python3 app.py✅ 此时在浏览器访问http://你的IP:5000应能看到页面❌ 但关闭 SSH 后进程会退出 → 需要用后台服务管理 第六步用 systemd 管理服务持久运行创建服务文件bashnano /etc/systemd/system/myapp.service粘贴以下内容Flask 示例ini[Unit] DescriptionMy Flask App Afternetwork.target [Service] Userroot WorkingDirectory/root/你的项目 ExecStart/usr/bin/python3 /root/你的项目/app.py Restartalways [Install] WantedBymulti-user.target启用服务bashsystemctl daemon-reexec systemctl start myapp systemctl enable myapp # 开机自启检查状态bashsystemctl status myapp 第七步配置 Nginx 反向代理推荐编辑 Nginx 配置bashnano /etc/nginx/sites-available/default修改server块nginxserver { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://127.0.0.1:5000; # 转发到 Flask proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }重载 Nginxbashnginx -t systemctl reload nginx✅ 现在访问http://你的IP无需端口即可看到网站️ 第八步基础安全建议不要长期用 root→ 创建普通用户 sudo设置防火墙UFWbashufw allow 22 ufw allow 80 ufw allow 443 ufw enable定期更新系统apt upgrade -y敏感信息不要硬编码用环境变量 不同项目类型简要说明表格项目类型关键步骤差异Node.js用npm installExecStart/usr/bin/node app.jsDjango需collectstatic用 Gunicorn Nginx静态网站直接把文件放/var/www/htmlNginx 指向即可Java JARExecStart/usr/bin/java -jar app.jar