阿里云ECS服务器(Windows2019)部署H5在线点餐系统的完整教程

项目演示地址:https://m.axiaoke.cn

第一部分:准备事项(ECS服务器和域名需要购买,这也是唯一的支出成本)

1. 云服务准备
    1. 注册阿里云账号
      • 访问 阿里云官网
      • 点击注册并直接使用支付宝扫码完成注册&实名认证,点击这里可以领取优惠券
      • 如果已经有阿里云认证的账号,可以直接登录,然后点击这里领取优惠券
    2. 服务器购买
      • 在上方推荐购买页面,个人用户首次可以以99元/台/年的价格购买到一台ECS服务器,企业认证的用户可以以199元/台/年买到一台ECS服务器
      • 选择windows2019(推荐):
        • 镜像:Windows Server 2019 ,后续也可以在实例列表中点击:“全部操作”-“更换操作系统”,甚至可以更换成镜像市场中自带宝塔面板的Windows Server 2019(省去了部署网站基本运行环境的力气)
      • 安全组至少开放端口:80、443、3000
    3. 域名购买
      • 在阿里云域名注册页面搜索可用域名比如yourdomain.com
      • 购买后完成域名实名认证(需1-3个工作日审核)
    4. 邮件推送服务配置
      • 进入 邮件推送控制台
      • 创建发信域名 yourdomain.com 并完成 DNS 验证
      • 新建发信地址,选择“批量邮件”
      • 注1:我们目前是用的SingleSendMail API 接口发信,因此暂不需要提交模板审核
      • 注2:正式环境调试通过后,可以在“IP防护”中勾选【】 ,并将自己服务器的IP地址添加到白名单
      • 注3:阿里云的邮件推送会有免费的邮件额度,如果只是用于自己家点餐,完全足够了
    5. AccessKey配置
      • 登录 RAM 控制台 → 用户 → 创建用户
      • 勾选 "使用永久 AccessKey 访问"
      • 添加权限策略 AliyunDirectMailFullAccess【管理邮件推送(DirectMail)的权限】
      • 最后在此用户的【认证管理】界面,点击蓝色的:“创建AccessKey ”按钮,在弹出界面中,选择:其他-其他必须使用 AccessKey 的场景。最后勾选:我确认必须创建 AccessKey,并点击:继续创建。后续记得将ID、SECRET保存下来。
      • 注:正式环境调试通过后,可以在此界面,AccessKey ID的后方,点击:“网络访问限制策略”,添加自己的服务器公网IP地址,确保AccessKey 的相对安全性。
2. 本地文件准备
新版本支持:1)检索中支持菜品全拼和拼音首字母,2)优化样式增加美观度,3)增加“今日免厨”模式,4)将客人确认码和老婆确认码都写入系统的环境变量,5)内置Roboto字重400、500、700的字体
前端文件:
C:\wwwroot\diancan\
├─ index.html
├─ styles.css
├─ pinyin-pro.js(新增的拼音检索支持库)
└─ script.js

后端文件:

C:\wwwroot\server\
└─ server.js

说明:源码中有一些信息需要自己修改:

1、diancan目录下的index.html文件,(1)头部信息,比如标题等,(2)logo地址,(3)</head>标签上方的百度统计代码

2、diancan目录下的image文件夹,自己调整logo,主要是favicon.ico图标和从外部链接分享到微信时的富文本等

3、server目录下的server.js文件【这个建议改掉】:

(1)第21行的网址

(2)第42行、52行的两个数字确认码,以及对应的邮件标题、内容

(3)第78行的发件人邮件地址,填写阿里云邮件推送中设置好的

(4)第81行的收件人邮件地址,固定收件人,请修改为自己的收件邮箱


第二部分:服务器环境部署1(IIS)

1.可以通过PowerShell快速安装

  1. 以管理员身份运行PowerShell
    右键点击开始菜单,选择 “Windows PowerShell (管理员)”
  2. 执行安装命令
    powershell
    <span class="token function">Install-WindowsFeature</span> <span class="token operator">-</span>Name Web-Server <span class="token operator">-</span>IncludeManagementTools
    • Web-Server:安装IIS核心服务。
    • -IncludeManagementTools:包含IIS管理控制台。
  3. 验证安装
    安装完成后,执行以下命令检查状态:

    powershell
    <span class="token function">Get-WindowsFeature</span> Web-Server

    若显示“Installed”表示成功。

    在已安装IIS 10的基础上,部署URL重写模块和ARR 3.0(应用程序请求路由),可通过以下步骤快速实现(必须先装URL重写):


    2. 安装URL重写模块(URL Rewrite)

    方法一:通过Web平台安装程序(WebPI)

    1. 手动下载安装包
      官方直链(微软下载中心):
      URL Rewrite 2.1

      • 点击页面的 Download 按钮,选择 rewrite_amd64_en-US.msi 下载。
    2. 静默安装(PowerShell)
      以管理员身份运行PowerShell,执行:

      msiexec <span class="token operator">/</span>i <span class="token string">"C:\路径\rewrite_amd64_en-US.msi"</span> <span class="token operator">/</span>quiet <span class="token operator">/</span>norestart

      替换 C:\路径\ 为实际下载路径。


    3. 安装ARR 3.0(Application Request Routing)
    1. 直接下载ARR 3.0
      官方直链:
      ARR 3.0

      • 下载 ARRv3_setup_amd64_en-US.msi
    2. 静默安装(PowerShell)
      powershell
      msiexec <span class="token operator">/</span>i <span class="token string">"C:\路径\ARRv3_setup_amd64_en_US.msi"</span> <span class="token operator">/</span>quiet <span class="token operator">/</span>norestart

验证IIS是否运行
  1. 本地访问测试
    在服务器浏览器中输入 http://localhost,若看到IIS默认页面即表示成功。
  2. 外网访问测试
    • 确保ECS实例的安全组放行了80端口(HTTP)和443端口(HTTPS)。
    • 通过浏览器访问服务器的公网IP(如 http://<你的ECS公网IP>),应显示IIS欢迎页。

第三部分:服务器环境部署2(其他)

1. 目录结构搭建
在C:\盘下创建如下目录(示例)
C:\wwwroot
C:\wwwroot\diancan
C:\wwwroot\server
C:\wwwroot\nssm
2. 安装必要软件
  1. Node.js 环境
    • 下载 Node.js LTS Windows 版
    • 双击安装包,选择默认路径 C:\Program Files\nodejs\
    • 验证安装:
      用管理员身份运行cmd,然后输入如下语句,确认是否安装成功(安装成功的会显示版本号,未显示版本号的要重新安装Node.js和NPM)
      node -v
      npm -v
  2. NSSM 服务管理工具
    • 访问 nssm.cc → 下载最新 release 版
    • 解压 nssm-2.24.zip 到 C:\wwwroot\nssm\
    • 添加系统环境变量:
      • 变量名:NSSM_HOME
      • 变量值:C:\wwwroot\nssm\或者C:\wwwroot\nssm\win64
3. 后端服务配置
    1. 安装依赖
      用管理员身份运行cmd,然后逐一输入如下语句:
      cd C:\wwwroot\server
      npm init -y
      npm install express cors @alicloud/pop-core
      如果后续安装mysql数据库及更高级的功能,也可以用这个:
      npm install express mysql2 body-parser cors bcryptjs jsonwebtoken @alicloud/pop-core
    2. 配置环境变量
      • 在服务器桌面的 “此电脑”右键,然后选择:属性 → 高级设置 → 环境变量 → 系统变量
      • 新建变量:
        变量名: ACCESS_KEY_ID
        变量值: 你的RAM用户AccessKey ID
        变量名: ACCESS_KEY_SECRET
        变量值: 你的RAM用户AccessKey Secret
        变量名: GUEST_CODE
        变量值: 客人的点餐确认码,比如666
        变量名: WIFE_CODE
        变量值: 老婆的点餐确认码,自行输入

第四部分:IIS 反向代理配置

  1. 新建网站
    • 网站名称:Diancan
    • 物理路径:C:\wwwroot\diancan
    • 绑定:yourdomain.com(80端口)
  2. 反向代理规则
    • 步骤 1:启用 ARR 代理功能
      1. 打开 IIS 管理器
      2. 在左侧连接树中选择 服务器节点(非具体网站)
      3. 双击 Application Request Routing Cache
      4. 右侧操作栏点击 Server Proxy Settings
      5. 勾选 Enable proxy → 点击 Apply
    • 步骤 2:进入 URL 重写模块
      1. 打开 IIS 管理器
      2. 左侧连接树中选择目标网站(如 Diancan
      3. 双击 URL 重写 模块
      4. 创建空白入站规则,右侧操作栏点击:添加规则,选择 空白规则 → 开始手动配置
      5. 基本规则配置
      6. 配置项 值/操作
        规则名称 输入 3000(标识端口)
        请求的 URL 选择:与模式匹配
        模式 输入 (.*)(匹配所有路径)
        忽略大小写 勾选
      7. 操作类型:选择 重写
      8. 重写 URL:输入 http://localhost:3000/{R:1}
        {R:1} 表示捕获组,保留原始请求路径)
      9. 附加查询字符串:勾选(保留 URL 参数)
      10. 停止处理后续规则:勾选(提升性能)
    • 如下图:
    • rewrite.config代码如下:
      &lt;rule name="3000" stopProcessing="true"&gt;
      &lt;match url="(.*)"/&gt;
      &lt;action type="Rewrite" url="http://localhost:3000/{R:1}"/&gt;
      &lt;/rule&gt;

      步骤3:创建 Windows 服务

      用管理员身份运行cmd,然后逐一输入如下语句:
      cd C:\wwwroot\nssm\
      nssm install MailService

      在 Nssm软件的GUI 界面按如下内容配置:

      1、Path选择: C:\Program Files\nodejs\node.exe【必须是Node.exe文件所在的路径】
      2、Startup directory: C:\wwwroot\server
      3、Arguments: server.js

      配置完毕后,可以直接搜索windows:“服务”,直接找到新创建的MailService服务,双击打开后点击:“启动”即可。

  3. HTTPS 强制跳转【根据需要设置】
    • 申请免费 SSL 证书(阿里云 SSL 证书服务)
    • 添加 HTTPS 绑定(443端口)
    • 添加 URL 重写规则,如下图:
    • rewrite.config代码如下:
      &lt;rule name="http_toHttps" stopProcessing="true"&gt;
      &lt;match url="(.*)"/&gt;
      &lt;conditions&gt;
      &lt;add input="{HTTPS}" pattern="off" ignoreCase="true"/&gt;
      &lt;/conditions&gt;
      &lt;action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}"/&gt;
      &lt;/rule&gt;

第五部分:系统验证

1. 服务状态检查
用管理员身份运行cmd,然后逐一输入如下语句:
netstat -ano | findstr :3000  # 确认端口监听
nssm status MailService       # 查看服务运行状态
2. 功能测试
  1. 前端访问测试
    • 浏览器打开http://yourdomain.com或https://yourdomain.com
    • 检查页面元素加载是否正常
  2. 订单提交测试
    • 选择菜品 →下一步→ 输入确认码 → 确认下单
  3. 邮件接收验证
    • 登录 收件邮箱 查收邮件。
    • 检查是否收到订单邮件

技巧,如果发现哪里问题不对,可以把问题和这篇文章直接复制发给AI让AI帮忙找问题在哪一步,如何调试。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

*

返回主页看更多
打赏博主 支付宝 扫码打赏