返回

MERN Stack VPS 主机,预装好

MERN stack 主机让您用一台服务器、一个 HTTPS 地址同时提供 React 前端和 Express API。付款后 MongoDB、Express、React、Node.js、PM2 和 Caddy 全部自行安装,一个会写入数据库的示例应用随即打开,地址和 MongoDB 密码会显示在面板中。把示例换成您自己的项目,凭 root 权限按自己的方式运行服务器。

您需要多大算力?

合计$4.01/月

价格含增值税。

RAM 和 CPU 可随时升级或降配。磁盘只能增大,建议从小配置开始。

您的 MERN 服务器上安装什么?

  • 用 Vite 创建的 React 项目,位于 /home/app/uygulama/istemci
  • sunucu/server.js 中的 Express 5 和 Mongoose 9,其中 /api/saglik 路由会真实写入 MongoDB
  • 来自 NodeSource 软件源的 Node.js 26,以及进程管理器 PM2
  • MongoDB 8.0 只监听 127.0.0.1,由用户名和密码保护
  • Caddy 会为 sslip.io 地址自行获取 HTTPS 证书,所以域名是可选的
  • 2 GB 的交换文件,防火墙只开放 22、80 和 443 端口

MERN 需要多大的配置?

MERN 没有官方的 RAM 数值。在这台服务器上,Node.js、MongoDB 和 React 构建共用同一份内存,MongoDB 的缓存在 2 GB 时是 512 MB,在 4 GB 时是 1.5 GB。经验上,演示或小型项目从 2 GB 起步就不错,有真实用户的项目可以用 4 GB。最小配置是 2 GB RAM、1 个 CPU 和 20 GB 磁盘。RAM 和 CPU 可升可降,磁盘只能增大,您的数据和 IP 地址保持不变。

用途配置价格选择
入门 2 GB RAM · 1 vCore · 40 GB NVMe $4.01/月
中等 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/月
强劲 8 GB RAM · 4 vCore · 120 GB NVMe $13.62/月

适合谁?

  • 想在一台服务器上同时运行 React 前端和 Express API 的人
  • 把用 AI 工具做出的 React 应用发布到自己服务器上的开发者
  • 发布演示、第一个版本或内部工具的小团队

下单之后会发生什么?

  1. 设定配置并完成付款。
  2. 服务器启动后,MERN 环境会自行安装。在我们的真实服务器测试中,这大约用了 4 分钟。
  3. 在“概览”标签页中打开“网站地址”。示例页面会显示 MongoDB: OK。
  4. 通过 SSH 连接并输入 su - app。把项目放在 ~/uygulama 下,React 放在 istemci,Express 放在 sunucu。
  5. 进入 istemci 文件夹,构建前端并把输出放进后端的 public 目录:npm run build -- --outDir ../sunucu/public --emptyOutDir
  6. 运行 pm2 restart uygulama,然后在“网站地址”检查修改是否生效。

每台服务器都包含

  • 价格含每日备份
  • 不限流量
  • 完整 root 权限
  • 之后可升级或降配 RAM 和 CPU,并扩大磁盘
  • 位置:Istanbul · IST-1。

须知

  • 下单即表示您接受 MongoDB 的 Server Side Public License(SSPL)条款。
  • Caddy 会把请求转发到 127.0.0.1:3000。请在您自己的服务器文件中监听这个端口,并从 sunucu/.env 中的 MONGO_ADRES 读取数据库地址。
  • 以 VITE_ 开头的变量会在构建时写入代码,并且在浏览器中可见。不要把机密信息放进去,值有变化时要重新构建。
  • 如果您的入口文件不是 server.js,请重新定义进程:pm2 delete uygulama、pm2 start FILE --name uygulama、pm2 save。
  • 这里只有一个 MongoDB 节点。如果要在 Mongoose 中使用事务或变更流,需要自己搭建副本集。
  • 让 Node.js、MongoDB 和 npm 包保持最新,由您自己负责。

MERN 常见问题

如何部署我的 MERN stack 项目?

用 su - app 切换用户,把 Express 代码放进 ~/uygulama/sunucu,把 React 代码放进 ~/uygulama/istemci。在两个目录中都运行 npm install,在 istemci 中用 npm run build -- --outDir ../sunucu/public --emptyOutDir 构建,然后运行 pm2 restart uygulama。

MERN stack 需要多少 RAM?

MERN stack 没有官方的 RAM 数值。经验上,演示或小型项目从 2 GB 起步就不错,有真实用户的项目可以用 4 GB。

需要设置 CORS 吗?

这种布局不需要。React 构建后由 Express 提供输出,API 与它在同一个地址,所以前端直接调用以 /api 开头的路径即可。如果前端托管在别处,则需要您自己在 Express 中设置 CORS。

刷新页面时 React Router 会出现 404 吗?

不会。示例 server.js 会对任何未知路径返回 index.html,之后由 React Router 接手。如果您自己编写服务器文件,请保留这个行为,并把 API 路由定义在它前面。

可以从外部连接 MongoDB 吗?

在这台 MERN 服务器上,MongoDB 只在服务器内部监听。要使用 Compass,请用 ssh -L 27017:127.0.0.1:27017 root@IP 打开 SSH 隧道。

重启后我的应用会自动恢复吗?

会。PM2 作为 pm2-app 服务运行,启动时会恢复已保存的进程列表。修改进程后,请用 pm2 save 保存列表。

了解更多,查看类似应用