. 登录AWS CloudRaiser平台
打开浏览器,访问指定的平台链接。
使用提供的账号和密码登录。
在平台上找到"Amazon Web Services控制台"并点击进入。
- 设置参赛信息
按照平台要求,在控制台上设置您的名字和其他相关信息。
- 登录AWS控制台
点击平台提供的 AWS 控制台链接,使用比赛账号登录。
确保您有足够的权限操作(如 EC2、RDS、S3 等)。
- 下载并填写服务配置文件 server.ini
步骤:
在 AWS S3 中找到提供的 server.ini 模板文件,下载到本地。
根据以下内容填写 server.ini:
INI
[TCP]
IP=your_server_ip # 替换为您服务器的IP地址
Port=80 # 默认端口80
[Database]
MySQL_Host=mysql.example.com
MySQL_Port=3306
MySQL_User=root
MySQL_Password=password
[Redis]
Redis_Host=redis.example.com
Redis_Port=6379
[Log]
Log_File=/var/log/app_log
代码示例:
BASH
# 下载 server.ini 模板(假设模板在 S3 中)
aws s3 cp s3://competition-resources/server.ini ./server.ini
# 打开文件进行编辑
vim server.ini
-
创建 VPC 和子网
步骤:
在 AWS EC2 控制台中,创建一个新的虚拟私有云(VPC)。
在 VPC 中创建一个公有子网,并确保其路由表允许互联网访问。
代码示例:BASH
创建 VPC
vpc-id=$(aws ec2 create-vpc --cidr-block 10.0.0.0/16 | jq -r '.Vpc.VpcId')
创建公有子网
subnet-id=(aws ec2 create-subnet --vpc-id vpc-id --cidr-block 10.0.1.0/24 | jq -r '.Subnet.SubnetId')
-
配置安全组
步骤:
创建一个新的安全组。
添加入站规则,允许来自 0.0.0.0/0 的 HTTP 流量(TCP 端口 80)。
代码示例:BASH
创建安全组
sg-id=$(aws ec2 create-security-group --group-name web-server-sg --description "Web Server Security Group" | jq -r '.SecurityGroup.SecurityGroupId')
添加入站规则(允许 HTTP)
aws ec2 authorize-security-group-ingress --group-id $sg-id --protocol tcp --port 80 --source-group 0.0.0.0/0
- 启动 Web 服务器实例
步骤:
在 EC2 实例页面,启动一个新的 Linux 实例(选择 Amazon Linux 最新版本)。
配置网络设置,选择之前创建的子网和安全组。
启动实例后,连接到该实例(使用 SSH)。
代码示例:
BASH
# 启动 EC2 实例
instance-id=$(aws ec2 run-instances --image-id ami-0abcdef123456789 --count 1 --subnet-id $subnet-id --security-group-ids $sg-id | jq -r '.Instances[0].InstanceId')
# 等待实例运行完成
sleep 10
# 连接到实例(替换为您的公有 IP)
ssh -i your-key.pem ec2-user@public-ip-of-instance
-
安装依赖项并配置服务器
步骤:
在 SSH 窗口,安装必要的工具:BASH
sudo yum update -y
sudo yum install -y gcc glibc
下载并运行您的 Go 二进制文件:
BASH
# 下载文件(假设在 S3 中)
aws s3 cp s3://competition-resources/your-server-binary ./server
# 启动服务器
sudo ./server
代码示例:
BASH
# 验证服务器是否运行
curl http://public-ip-of-instance:80
-
配置 Redis 和 MySQL 数据库
步骤:
确保您的 EC2 实例可以访问 Redis 和 MySQL 服务器。
在 server.ini 中填写正确的数据库信息。
代码示例(连接测试):PYTHON
测试 Redis 连接
import redis
r = redis.Redis(host='redis.example.com', port=6379)
print(r.ping())测试 MySQL 连接
import pymysql
conn = pymysql.connect(host='mysql.example.com', user='root', password='password')
print(conn.cursor().execute('SELECT 1').rowcount) -
配置日志文件
步骤:
确保 /var/log/app_log 文件存在。
在 server.ini 中设置日志路径。
代码示例:BASH
创建日志目录
sudo mkdir -p /var/log
修改权限(如果需要)
sudo chmod 644 /var/log/app_log
-
测试服务
步骤:
确保您的 Web 服务器、数据库和 Redis 都正常运行。
使用工具(如 curl 或 Postman)测试 API 接口。
**代码示例:`BASH
测试 HTTP 响应
curl -v http://public-ip-of-instance:80
-
扩展和监控
步骤:
根据需要扩展 EC2 实例数量。
使用 CloudWatch 监控服务器性能。
**代码示例:`BASH
创建 Auto Scaling 组(示例)
aws autoscaling create-auto-scaling-group --auto-scaling-group-name web-servers-asg --launch-configurationName web-servers-lc --min-size 2 --max-size 4 --desired-capacity 3 --vpc-subnets subnet-1234abcd
注意事项
确保所有资源(如 EC2、RDS、S3)都在同一 AWS 区域。
定期备份数据和配置文件。
使用 IAM 角色限制权限,避免使用根账户。