一、准备工作

1.1 注册阿里云账号

        访问 阿里云官网,完成账号注册并实名认证。

1.2 购买云服务器

  • 入口阿里云ECS购买页

  • 配置推荐(按需选择):

    • 入门级:2核4G、50GB SSD、5M带宽

    • 生产环境:4核8G、100GB SSD、10M带宽


二、服务器基础配置

2.1 重置服务器密码

  1. 登录阿里云控制台,进入 ECS实例列表

  2. 找到目标实例,点击 更多密码/密钥重置实例密码

2.2 配置安全组

  1. 进入ECS实例详情页,点击 安全组配置规则

  2. 手动添加规则

    • 开放端口:22(SSH)、80(HTTP)、443(HTTPS)、3306(MySQL)、4000(Node.js项目端口)

    • 授权对象:0.0.0.0/0


三、连接服务器工具

3.1 安装工具

3.2 连接服务器

  1. WinSCP

    • 主机名:服务器公网IP

    • 端口:22

    • 用户名:root

    • 密码:重置后的实例密码

  2. PuTTY

    • 输入公网IP,点击 Open,输入用户名和密码。

 

 


四、安装宝塔面板

4.1 安装宝塔

        在 PuTTY 中执行:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

4.2 登录宝塔

        安装完成后,执行 bt default 获取面板地址和账号密码。

五、数据库链接

5.1 创建数据库并在本地navicat工具上连接~~


六、部署运行环境

5.1 通过宝塔安装软件

  1. 登录宝塔面板,进入 软件商店

  2. 安装以下软件:

    • Nginx(Web服务器)

    • MySQL 5.7(数据库)

    • PM2(Node.js进程管理)

    • Node.js(选择最新稳定版)

5.2 开放防火墙端口

        在 PuTTY 中执行:

firewall-cmd --zone=public --add-port=4000/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

六、部署 Node.js 项目

6.1 上传项目文件

  1. 使用 WinSCP 将本地项目文件上传至服务器目录(如 /www/wwwroot/project)。

6.2 安装依赖

        在 PuTTY 中进入项目目录,执行:

npm install

6.3 启动项目

        通过 PM2 启动项目(支持进程守护):

pm2 start app.js --name "my-project"

        或


七、配置域名解析

7.1 添加域名记录

  1. 登录阿里云控制台,进入 域名管理解析设置

  2. 添加记录

    • 记录类型:A

    • 主机记录:@www

    • 记录值:服务器公网IP

7.2 配置 Nginx 反向代理

  1. 在宝塔面板中,进入 网站添加站点

  2. 填写域名,并在 反向代理 中添加:

    • 目标URL:http://127.0.0.1:4000

    • 发送域名:$host


八、常见问题解决

8.1 PM2 命令未找到

# 查找 PM2 安装路径
find / -name pm2

# 建立软链接(假设路径为 /usr/local/nodejs/bin/pm2)
ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin

# 刷新环境变量
source ~/.bash_profile

8.2 数据库连接失败

  1. 开放 MySQL 远程访问

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  2. 重启 MySQL 服务

    systemctl restart mysqld

九、访问项目

        通过域名或公网IP访问:


总结

        以上步骤涵盖从服务器购买到项目上线的完整流程,重点包括安全组配置、宝塔面板使用、环境依赖安装和域名解析。通过 PM2 管理 Node.js 进程可确保服务稳定运行,反向代理和防火墙配置则保障了安全性。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐