分享我的网站部署方案

5 阅读2分钟

缘由

我连续2年用了阿里云99/年2核2g服务器,一直到今年1月才换成2核4g,原因是mysql+3个.net服务+1个redis全安装在这台ecs服务器上,实在是不堪重负了,mysql本身内存占用就大,访问用户稍微一多,内存经常飙升,服务全部卡死。

由于centos停更了,我选择了AI推荐的rocky linux,使用体验和centos一样,包管理用的是dnf,系统比较稳定。

所以我想升级,恰巧看到了阿里云mysql有88/年的优惠,果断购买,服务器也是先买了1月的2核4g试试水;服务器增加配置是因为我要部署新开发的博客系统,就是目前看到的这个,采用nextjs+.net+mysql开发的,之前的文档站数据也迁移至此。

部署

主要做了一下几件事:

  1. 正向代理:nginx->fancyx-web(静态文件)

  2. 反向代理:

    nginx->nextjs

    nginx->yarp->.net server

  3. supervisor管理守护进程

  4. redis只允许内网访问,设置固定密码

  5. ecs服务器和mysql数据库在同一vpc(专有网络)下,才能使用内网通信

  6. 服务器ssh终端只允许特定网络访问,rds mysql记得加内网ip白名单

  7. 带宽选择10Mbps峰值的弹性带宽(约1.25MB/秒),流量0.8元/G

  8. supervisor配置示例:

[program:admin]
; 启动命令
command=/xx/dotnet /xx/admin/Fancyx.Admin.dll --urls http://localhost:5001

; 工作目录
directory=/xx/admin

; 以 root 用户运行(根据你的需要调整)
user=root

; 自动启动
autostart=true
autorestart=true

; 重启等待时间
startsecs=10

; 重试次数
startretries=3

; 停止信号
stopsignal=INT
  • [program:admin]中admin是supervisor标识程序名
  • /xx/dotnet 是.net运行时目录
  • /xx/admin/Fancyx.Admin.dll 是运行文件

成本

产品价格
mysql88/年
ecs408/年+约300元流量费

对比之前1台服务器一条龙服务才99/年,成本虽然骤升,但是带来了不错的体验,目前没有遇到内存飙升卡死。

我的博客站地址:doc.crackerwork.cn