结论:MySQL 加 PHP 加 Nginx 一套跑下来,2G 内存是底线,4G 才比较稳。

① 1G 内存的机器装完宝塔和 MySQL 基本就满了,Discuz! 一访问就频繁触发 OOM,进程被系统杀掉,表现就是 502 和数据库连不上。

② 2G 能跑,但要把 MySQL 的 innodb_buffer_pool_size 调到 256M 左右,PHP-FPM 进程数控制在 5 个以内,不然并发一上来照样崩。

③ 4G 是最舒服的区间,MySQL 可以给到 1G 缓冲池,PHP-FPM 开到 10-15 个进程,几百人在线毫无压力。

④ 内存不够时可以加 2G 左右的 Swap 应急,但 Swap 只是防崩,速度会明显下降,不能当长期方案。

⑤ 记住内存瓶颈通常不在 Nginx,而在 MySQL 和 PHP,优化这两个才是关键。