AWS EC2 部署——

2026年8月22日3 次浏览来源:Dev.to阅读原文

从向AWS EC2部署两个Node.js/Docker应用编译的参考指南,涵盖了被击中的真实问题以及如何固定.

1.

连接Q:我如何将SSH纳入EC2实例?

第一次询问指纹时输入 。

问:似乎不起作用 / 我得到"糟糕的权限" / "拒绝(公钥)" 当您的密钥坐落在挂入 WSL (例如) 的 Windows 驱动器上时, 就会发生这种情况 。

NTFS没有适当尊重Linux权限位.

Fix:先将密钥复制到WSL的本土文件系统.

问:我的密钥文件名里面有空格——我如何参考它?

我怎么知道我和哪个案例有关联?

与AWS Console为您显示的情况相比——如果一个"弹性"IP被重新分配,SSH就很容易被意外地打入了旧的情况.

2.

域名 / HTTPS 不购买域名Q:我不想购买域名——我还能得到真正的HTTPS吗?

是的,使用 sslip.io。

任何像主机名一样的自动解析为零注册的IP.

让我们加密(通过 Certbot) 将发出一个真实的,可信赖的证书,因为它就像一个付费域.

问:为什么我不能用HTTP的生IP?

办事员(auth)和Razorpay(支付)都要求HTTPS在生产/活化模式下具有真实主机名.

平庸的也不会与它合作。

问:我后来买了一个真正的域名——我如何切换?

在您的注册员的 DNS 面板中, 添加一个 A 记录: 主机 – 您的弹性IP( 如果想要的话, 也添加一个) 。

等待传播( 应返回您的 IP) 。

更新您的 Nginx 并用新域重运行 Certbot 。

更新办事员/ Razorpay webhook URL 和 CORS 设置到新域 。

3.

弹性IP Q:我是否需要弹性IP?

是的,没有了一个,你的例子的公开IP 在每一个停止/启动,打破你的域/cert设置。

分配一个(EC2 + 弹性IPs + 分配) 并将其与您实例( 与运行实例连接时为免费) 关联 。

4.

Disk Space Q: 以"设备上没有空格"失败" 默认 EC2 根卷往往只有~8GB (或者以后的大小调整丢失后更少)——对于多克图像层来说太小了.

请检查access-date=中的日期值 (帮助) Quick relief: (删除未使用的图像/缓存,不触摸正在运行的容器的数据).

问:我如何永久固定一个太小的磁盘?

AWS控制台 → EC2 → 音量 → 选择音量 → 动作 → 修改音量 → 增加音量 (如:25 GiB) → 修改.

没有休息时间。

在服务器上,扩展分区:

5.

Memory / swap Q: My Docker用"JavaScript hap out of memory"来构建崩溃,或得到默杀 Free-tiers EC2 例(t2/t3.micro) 通常有~1GB RAM——不足以/负载.

修复:增加交换空间.

Q: 以“ 设备上没有空格 ” 失败, 同时添加互换您的磁盘是满的 —— 首先固定磁盘空间( 第 4 节), 然后重试互换命令 。

Q: 一个容器继续以干净的“ Exited (0)” 或 crash- looping check for OOM kills 重新启动: 如果 如果没有,请检查磁盘空间和容器日志是否真实出错 。

Q:节点的构建步骤仍然耗尽了内存,即使有互换,明确提高节点自己在多克文件中的堆积极限:6.

Nginx + Certbot(逆向代理+自由SSL) Q: Basic Nginx + Certbot 为多克应用程序设置(服务器于:5000/5001,客户端于:5173)?

然后创建 : Q: 为什么在开始Nginx之前就先获得证书,而不是 ?

因为您的 Nginx 配置已经引用了 cert 文件( chicken- and- egg problem) —— 在 cert 存在之前会失败 。

首先获得独立(随着Nginx停止,自由出港80)可以避免这种情况.

问:我如何用一个自签的证书换一个真正的Let's encrypt one later?

问:我可以用Caddy代替Nginx+Certbot吗?

是 — Caddy 自动发行并更新 HTTPS 证书, 并带有零手动 Certbot 命令 。

一个最小的Caddyfile:一次只运行一款Nginx或Caddy——两者均在80/443港口出战.

7.

Docker Confose 抓住了Q:对(连字符)?

更新的多克安装( 包) 船 Confose 插件, 引用为( 空间 ) 。

旧的独立二进制可能不存在.

如果找不到, 请使用 取而代之 。

Q: 运行无 sudo Q 的 Docker: 文件没有找到, 即使我创建了它

分享