在京东云(JD Cloud)上部署 Ubuntu 服务器,核心逻辑和阿里云、腾讯云等主流厂商没有本质区别,主要涉及资源购买 -> 系统初始化 -> 环境配置 -> 安全加固这四个步骤。
以下是基于实际操作经验的详细流程,去除了所有废话,直接上干货。
第一步:购买与实例创建
-
登录控制台
访问京东云官网,登录控制台,进入“云服务器 ECS”或“弹性计算”模块。 -
创建实例
- 计费方式:个人开发测试建议选“按量付费”或“包年包月”中的短期套餐;生产环境务必选“包年包月”。
- 地域选择:根据你的用户群体选择最近的地域(如北京、上海、深圳),延迟最低。
- 实例规格:根据需求选择 CPU/内存配比。如果是 Web 服务,通常 2核4G 起步即可满足大多数中小型项目。
- 操作系统:关键步骤。在镜像选择中,找到“公共镜像”,选择 Ubuntu。
- 推荐版本:长期支持版(LTS),如 Ubuntu 20.04 LTS 或 22.04 LTS。不要选非 LTS 版本,因为生命周期短,缺乏长期安全更新。
- 存储:系统盘建议选择 ESSD 云盘,性能更稳定。数据盘按需挂载。
-
网络与安全组
- 公网 IP:确保勾选“分配公网 IPv4 地址”,否则你无法从外部 SSH 连接服务器。
- 安全组(防火墙):这是新手最容易踩坑的地方。
- 默认规则通常只开放了 22 端口(SSH)。
- 必须手动添加规则:
- TCP 80 (HTTP)
- TCP 443 (HTTPS)
- TCP 你的应用端口(如 3000, 8080 等)
- 注意:源 IP 可以设为
0.0.0.0/0表示允许所有 IP 访问,但在生产环境中,建议限制为特定 IP 段以增强安全性。
-
设置密码/密钥对
- 强烈建议使用密钥对(Key Pair)登录,而不是密码。更安全,且防止暴力破解。
- 如果必须用密码,请设置一个复杂度极高的密码(大小写+数字+特殊字符,12位以上)。
-
完成创建
等待实例状态变为“运行中”。
第二步:初始连接与基础配置
-
获取公网 IP
在控制台找到刚创建的实例,复制其“公网 IP 地址”。 -
SSH 登录
打开终端(Mac/Linux)或 PowerShell/CMD(Windows,需安装 OpenSSH 或使用 PuTTY)。# 如果使用密钥登录 ssh -i /path/to/your/key.pem ubuntu@<公网IP> # 如果使用密码登录 ssh ubuntu@<公网IP>注:Ubuntu 默认用户名为
ubuntu,不是root。 -
首次登录提示
如果是第一次连接,会询问是否继续连接(Yes/No),输入 Yes。如果是密钥登录,可能需要输入 passphrase(如果有设置的话)。
第三步:系统初始化(必做)
登录后,立即执行以下命令进行基础优化和安全加固。
-
更新软件包
sudo apt update && sudo apt upgrade -y解释:更新系统内核和已安装的软件到最新版本,修复已知漏洞。
-
安装常用工具
sudo apt install -y curl wget git vim htop net-tools解释:这些是后续部署环境的基础工具。
-
配置防火墙(UFW)
Ubuntu 默认使用 UFW 作为防火墙管理工具。sudo ufw allow OpenSSH sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 如果你需要其他端口,例如 3000 sudo ufw allow 3000/tcp sudo ufw enable sudo ufw status解释:启用防火墙并仅开放必要端口。这是安全的第一道防线。
-
创建新用户(可选但推荐)
为了安全,不建议直接使用ubuntu或root用户进行日常操作。sudo adduser newuser sudo usermod -aG sudo newuser然后退出当前会话,用新用户名登录。
第四步:部署具体环境(示例:Node.js + Nginx)
假设你要部署一个 Node.js 应用,并通过 Nginx 反向X_X。
-
安装 Node.js
推荐使用 nvm(Node Version Manager)来管理版本,避免权限问题。curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install --lts node -v npm -v -
安装 Nginx
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx访问
http://<公网IP>,看到 "Welcome to nginx!" 页面即表示成功。 -
上传代码
你可以使用scp或git clone将代码拉到服务器上。cd ~ git clone <你的仓库地址> cd <项目目录> npm install npm start -
配置 Nginx 反向X_X
编辑 Nginx 配置文件:sudo vim /etc/nginx/sites-available/default修改
server块,将请求转发到你的 Node 应用端口(如 3000):location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }保存后测试配置并重载 Nginx:
sudo nginx -t sudo systemctl reload nginx
第五步:持久化运行(PM2)
直接用 npm start 运行的进程会在 SSH 断开时停止。使用 PM2 来管理进程。
-
安装 PM2
sudo npm install pm2 -g -
启动应用
pm2 start app.js --name "my-app" -
设置开机自启
pm2 startup systemd pm2 save
常见问题与避坑指南
-
无法 SSH 连接?
- 检查安全组是否放行了 22 端口。
- 检查本地网络是否有X_X干扰。
- 尝试使用京东云提供的“VNC 远程连接”功能排查系统内部错误。
-
网站打不开?
- 检查应用是否在监听
0.0.0.0而不是127.0.0.1。Node.js 默认可能只监听 localhost,导致 Nginx 无法转发。 - 检查防火墙 UFW 是否放行了应用端口(虽然通过 Nginx 80 端口访问,但如果应用本身有额外端口需要暴露,需放行)。
- 检查 Nginx 配置语法是否正确,重启是否生效。
- 检查应用是否在监听
-
数据备份
- 京东云提供“快照”功能。建议在每次重大变更前,对系统盘和数据盘创建快照。这是最便宜的灾难恢复手段。
-
域名解析
- 如果需要绑定域名,需要在京东云 DNS 或其他 DNS 服务商处添加 A 记录,指向服务器的公网 IP。
按照以上步骤,你可以在 30 分钟内完成一台安全、可用的 Ubuntu 云服务器部署。记住,安全永远比功能优先,务必做好防火墙和密钥登录。
云知道CLOUD