⚠️ server_demo 部署成功 · 关键提醒
🔥 千万记得:在 EC2 安全组中开放 TCP 7777 端口!
否则外部(甚至本机 curl)将无法访问服务。入站规则建议:
类型:自定义 TCP | 端口范围:7777 | 源:0.0.0.0/0(测试用)或特定 IP。
否则外部(甚至本机 curl)将无法访问服务。入站规则建议:
类型:自定义 TCP | 端口范围:7777 | 源:0.0.0.0/0(测试用)或特定 IP。
📦 一键部署命令(已成功执行)
# 1. 切换 root
sudo su root
# 2. 赋予执行权限
chmod a+x server_demo
# 3. 前台测试(看到 "Launch Server Successfully!" 即正常)
./server_demo
# 4. 后台持久运行
nohup ./server_demo conf.toml &
# 5. 验证服务(前提:安全组已放行7777)
curl http://127.0.0.1:7777
💡 如果 curl 仍然失败,请依次检查:
✔️ 安全组入站规则是否包含 7777 端口
✔️ 服务是否真的在运行:
✔️ 监听端口是否正确:
✔️ 本地防火墙(如有)是否放开:
✔️ 安全组入站规则是否包含 7777 端口
✔️ 服务是否真的在运行:
ps aux | grep server_demo✔️ 监听端口是否正确:
netstat -tulpn | grep 7777✔️ 本地防火墙(如有)是否放开:
systemctl stop firewalld(仅测试用)
📋 常见错误及解决
# 错误1:Permission denied
chmod +x server_demo
# 错误2:memcache: no servers configured or available
# 这是配置问题,不影响主服务,可忽略或修正 conf.toml
# 错误3:curl: (7) Failed to connect to 127.0.0.1 port 7777
# 原因:服务未启动 或 安全组未放行(即使 127.0.0.1 也受安全组影响?不,本地回环不受安全组限制,但如果服务监听在公网IP且安全组没开,外部会失败)
# 对于 127.0.0.1 测试,只要服务监听 localhost 即可,但真实客户端需要公网IP+安全组7777开放
✅ 当前状态:
- server_demo 已成功启动并监听 7777 端口
- 日志显示 "Launch Server Successfully!"
- 请立即去 AWS 控制台 → EC2 → 安全组 → 添加入站规则:端口 7777
- server_demo 已成功启动并监听 7777 端口
- 日志显示 "Launch Server Successfully!"
- 请立即去 AWS 控制台 → EC2 → 安全组 → 添加入站规则:端口 7777
🔐
配置文件含数据库 / 缓存连接信息,部署前请按实际环境核对,切勿泄露密码。
conf.toml · 服务配置
conf.tomltoml
[DEFAULT]
log_path = "/root/"
[MEMCACHE]
memcache_host ="memcached-6jom7b.serverless.cnw1.cache.amazonaws.com.cn"
memcache_port = "11211"
部署手册
📋
###### server_demo 部署手册 ###### A) 在自定义VPC的公有子网内创建ec2(ec2镜像推荐使用Amazon Linux 2 AMI。请勿选择Amazon Linux 2023镜像,该镜像会导致server运行异常。"实例类型/Instance Type"使用"t3.micro"。选择其他实例类型会导致创建ec2失败)。 B) 配置User-data如下所示: #!/bin/bash -xe sleep 20 wget http://onlyellow.cstor.cn/q1/server_demo -O /root/server_demo wget http://onlyellow.cstor.cn/q1/conf.toml -O /root/conf.toml chmod a+x /root/server_demo cd /root /root/server_demo C) 启动成功后,访问地址为ec2的公网IP + 7777端口号。例如:http://8.8.8.8:7777。网页显示"Hello World!"则server_demo部署成功。 D) 选配: memcache可以帮助server_demo更快处理消息。 没有部署memcache也不影响server_demo,conf.toml内容关于memcache部分保留default配置即可。“节点类型”使用"t3.micro",选择其他实例类型会创建memcache失败。 E) 选配: server_demo支持ECS. 使用ECS可以减少资源扣分
ℹ️
文档由浏览器本地渲染(mammoth),文件不会上传到任何第三方;如预览异常请使用下载按钮获取原文件。
🖥️
以下为服务端程序,需在 Amazon Linux 2 EC2 上
chmod +x 后运行,并在安全组放行对应端口。请勿在本地非受信环境执行。