当前位置: 首页 > news >正文

新手小白部署阿里云服务器

前提条件

  1. 已购买阿里云 ECS 云服务器(或轻量应用服务器)
  2. 系统为 Linux(推荐 Ubuntu 22.04 / CentOS 7+)
  3. 本地电脑可 SSH 连接服务器
  4. 你的项目代码已准备好(例如在 GitHub 或本地)

🔧 第一步:登录服务器

1. 获取公网 IP

在阿里云控制台 → 云服务器 ECS → 实例 → 找到你的公网 IP 地址

2. 用 SSH 登录(Windows 可用 PowerShell / Xshell;Mac/Linux 用终端)

bash

ssh root@你的公网IP

输入密码(或使用密钥)

⚠️ 首次登录建议创建普通用户(安全),但为简化,这里用root

🔒 第二步:配置安全组(关键!)

在阿里云控制台:

❗ 如果不开放端口,外网无法访问你的服务!

  • 进入ECS 实例 → 安全组 → 配置规则
  • 开放端口(根据你的项目):
    • HTTP:80
    • HTTPS:443
    • 自定义端口(如 Flask 默认 5000):5000
    • SSH:22(已默认开放)

📦 第三步:安装必要软件

Ubuntu 22.04为例(CentOS 用yum替代apt):

bash

# 更新系统 apt update && apt upgrade -y # 安装 Git、Python、pip、Nginx(反向代理用) apt install -y git python3 python3-pip nginx # 检查 Python 版本 python3 --version

其他项目类型:

  • Node.js:安装nodejs npm
  • Java:安装openjdk-17-jdk
  • 静态网站:只需 Nginx

🚀 第四步:上传并部署你的项目

方式 A:从 GitHub 克隆(推荐)

bash

cd /root git clone https://github.com/你的用户名/你的项目.git cd 你的项目

方式 B:本地上传(用scp

使用本地地址

bash

# 本地终端执行(非服务器) scp -r ./my_project root@你的IP:/root/
例子:

✅ 方法:使用scp命令(Secure Copy)

scp是基于 SSH 的安全文件传输命令,直接通过终端就能把本地文件夹或文件上传到服务器,不需要额外工具(Windows 10/11、macOS、Linux 都自带)。


🔧 操作步骤(以你的本地项目为例)

假设:

  • 你的本地项目路径是:C:\my_project(Windows)或/Users/yourname/my_project(Mac/Linux)

  • 你的阿里云服务器公网 IP是:47.95.123.45

  • 你用的用户名是:root(也可以是其他用户)


🖥️ 在你本地电脑的终端/命令行执行:

▶️ Windows(PowerShell 或 CMD)

powershell

# 注意:路径用正斜杠 / 或双反斜杠 \\ scp -r C:/my_project root@47.95.123.45:/root/

如果提示scp不是命令(旧版 Windows),可改用WSL或安装 OpenSSH 客户端。

安装依赖(以 Python Flask 为例)

bash

pip3 install -r requirements.txt

▶️ 第五步:运行你的项目(临时测试)

bash

# Flask 示例(确保 app.py 中 host='0.0.0.0') python3 app.py

✅ 此时在浏览器访问http://你的IP:5000应能看到页面
❌ 但关闭 SSH 后进程会退出 → 需要用后台服务管理

🔄 第六步:用 systemd 管理服务(持久运行)

创建服务文件:

bash

nano /etc/systemd/system/myapp.service

粘贴以下内容(Flask 示例):

ini

[Unit] Description=My Flask App After=network.target [Service] User=root WorkingDirectory=/root/你的项目 ExecStart=/usr/bin/python3 /root/你的项目/app.py Restart=always [Install] WantedBy=multi-user.target

启用服务:

bash

systemctl daemon-reexec systemctl start myapp systemctl enable myapp # 开机自启

检查状态:

bash

systemctl status myapp

🌐 第七步:配置 Nginx 反向代理(推荐)

编辑 Nginx 配置:

bash

nano /etc/nginx/sites-available/default

修改server块:

nginx

server { 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; } }

重载 Nginx:

bash

nginx -t && systemctl reload nginx

✅ 现在访问http://你的IP(无需端口)即可看到网站!

🛡️ 第八步:基础安全建议

  1. 不要长期用 root→ 创建普通用户 + sudo
  2. 设置防火墙(UFW):
    bash
    ufw allow 22 ufw allow 80 ufw allow 443 ufw enable
  3. 定期更新系统apt upgrade -y
  4. 敏感信息不要硬编码(用环境变量)

📌 不同项目类型简要说明

表格

项目类型关键步骤差异
Node.jsnpm installExecStart=/usr/bin/node app.js
Djangocollectstatic,用 Gunicorn + Nginx
静态网站直接把文件放/var/www/html,Nginx 指向即可
Java JARExecStart=/usr/bin/java -jar app.jar
http://www.jsqmd.com/news/583895/

相关文章:

  • spring boot在普通方法中获取HttpServletRequest及其使用的方式
  • _C++精灵库算法可视化程序
  • 外企转华为的技术人转型观察与建议
  • Kubernetes网络策略深度解析
  • AI工具实战--VibeCoding开发流程:写代码前的9步准备
  • 本地LLM部署工具(写给小白的LLM工具选型系列:第一篇)
  • CFPS 数据清洗教程:带你轻松上手
  • AI工具实战-- 普通人自学AI必知的30个工具清单
  • 4类URPC2021水下目标检测数据集该数据集拥有7600张图片,拥有4个类别,分别是[‘holothurian‘, ‘echinus‘, ‘starfish‘, ‘scallop‘]数据集是VO
  • ### 3. 工业级鲁棒性:动态参数控制
  • OpenClaw长任务省token方案:Qwen3-32B私有镜像实测对比
  • 深耕公考七载,以师者匠心筑就学员上岸之路
  • STM32三区存储优化LoRa OTA升级速度
  • 10款高效答辩AI工具(含爱毕业aibiye)与模板使用体验分享
  • 基于YOLOV8的狗狗前端检测识别成品项目开箱即用,开箱即用,开箱即用该项目具有如下5个优势:① 包含狗狗检测数据集(mtdata_dog_cls11)共884张图片,11种类别,已按照7:2:
  • AI工具实战--MCP是什么:让AI真正连接外部世界的协议
  • 2025-2026年美国投资移民中介推荐:五大口碑服务评测评价领先 - 品牌推荐
  • WIZ820ioInterface:面向工业场景的W5500嵌入式以太网驱动HAL
  • Slope Trick 学习笔记
  • 深圳万象天地街区美陈:如何从空间装饰升级为体验引擎?肆墨设计
  • 基于51单片机的锅炉温控(PT100、热电偶)探秘
  • 针对双SMC控制的四轮转向轨迹跟踪模型优化与效果评估研究
  • 【图像加密】基于 AES算法的图像位平面加密解密算法附Matlab代码
  • 【算法日记】Day 4 一维动态规划基础(按字符DP)
  • 技术创业中的产品迭代:从内核开发到用户中心
  • 创意随笔:智能转录便携终端
  • 告别图层导出烦恼:智能高效的Photoshop批量处理工具如何提升设计效率
  • 折腾光纤模型的手记
  • 智慧城市落地难?这4个痛点,90%项目都踩过
  • 基于[ClaudeCode]源码魔改重建深度集成微信消息桥使微信用户可直接与 Claude 对话,Claude 也可主动向微信用户发送文字、图片和文件