您的 MEAN 服务器上安装什么?
- 用 Angular CLI 创建的 Angular 22 项目,关闭 SSR,放在 /home/app/uygulama/istemci 目录
- 后端使用 Express 5 和 Mongoose 9,由 sunucu/server.js 监听 127.0.0.1:3000 端口
- 来自 NodeSource 软件源的 Node.js 26
- MongoDB 8.0,已开启认证,只能从服务器内部访问
- PM2 运行一个名为 uygulama 的进程,重启后会自动恢复
- 通过 Caddy 提供 HTTPS,使用基于您 IP 的 sslip.io 地址,所以域名是可选的
- 2 GB 的交换文件,避免 Angular 构建时内存不足
- 防火墙只开放 22、80 和 443 端口
MEAN 需要多大的配置?
MEAN 没有官方的 RAM 数值。经验上,小型项目从 2 GB 起步就不错,流量稳定或在服务器上构建的项目可以用 4 GB。Angular 构建最占内存,所以这套安装添加了 2 GB 交换空间,并给构建设置了 1.5 GB 的 Node.js 内存上限。最小配置是 2 GB RAM、1 个 CPU 和 20 GB 磁盘。如果不够,可以在面板中分别提升 RAM、CPU 和磁盘。
| 用途 | 配置 | 价格 | 选择 |
|---|---|---|---|
| 入门 | 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/月 |
适合谁?
- 前端用 Angular、后端用 Express API、已准备上线的项目
- 把现有 MEAN 应用迁到自己服务器的人
- 用 TypeScript 和 Angular 开发内部工具或管理后台的团队
下单之后会发生什么?
- 设定配置并完成付款。
- 服务器启动后,MEAN 环境会自行安装。在我们的真实服务器测试中,这大约用了 4 分钟。
- 在面板的“概览”标签页中打开“网站地址”。如果示例页面显示 MongoDB: OK,说明应用已经连上数据库。
- 通过 SSH 连接,用 su - app 切换到 app 用户,把代码放进 ~/uygulama/sunucu 和 ~/uygulama/istemci。
- 进入 istemci 文件夹,构建 Angular 项目,输出到后端的 public 目录:npx ng build --output-path /home/app/uygulama/sunucu/public
- 运行 pm2 restart uygulama。您的应用应监听 3000 端口。
每台服务器都包含
- 价格含每日备份
- 不限流量
- 完整 root 权限
- 之后可升级或降配 RAM 和 CPU,并扩大磁盘
- 位置:Istanbul · IST-1。
须知
- 下单即表示您接受 MongoDB 的 Server Side Public License(SSPL)条款。
- Express 从 sunucu/public/browser 提供 Angular 的构建输出。如果您修改了输出路径,也要同步修改 server.js。
- Express 5 的路由语法有变化:通配符需要命名,可选参数的问号已被取消。把 Express 4 的代码迁过来之前,请先检查您的路由。
- 让 Node.js、MongoDB 和 npm 包保持最新,由您自己负责。
- 添加或删除进程后,请运行 pm2 save,否则重启后会恢复旧的列表。
MEAN 常见问题
如何部署我的 MEAN stack 项目?
通过 SSH 连接并输入 su - app。把 Express 代码放进 ~/uygulama/sunucu,把 Angular 代码放进 ~/uygulama/istemci。在两个目录中都运行 npm install,构建 Angular,然后运行 pm2 restart uygulama。数据库地址是 sunucu/.env 中的 MONGO_ADRES。
MEAN stack 需要多少 RAM?
MEAN stack 没有官方的 RAM 数值。经验上,小型项目从 2 GB 起步就不错,流量稳定的项目可以用 4 GB。如果构建时内存不足,可以在您自己的电脑上构建 Angular,再把输出复制过来。
我较旧的 Angular 项目能在这里运行吗?
服务器上装的是 Node.js 26。Angular 22 正式支持 Node 22、24 和 26 中合适的版本。如果较旧的 Angular 版本不支持 Node 26,请用 ng update 升级项目。
可以使用 Angular SSR 吗?
示例项目创建时关闭了 SSR:Angular 构建后,由 Express 提供静态文件。要添加 SSR,请运行 ng add @angular/ssr,并用 PM2 启动生成的服务器文件。如果它监听 3000 端口,就不需要修改 Caddy 设置。
如何从我的电脑访问 MongoDB?
MongoDB 不对外开放。请用 ssh -L 27017:127.0.0.1:27017 root@IP 打开 SSH 隧道,然后在 Compass 中输入 mongodb://yonetici:[email protected]:27017/?authSource=admin。MongoDB 使用“登录名”下的“密码”一行,SSH 使用“用户名”下的那一行。
如何把我自己的域名连接到 MEAN 服务器?
把域名的 A 记录指向服务器的 IP 地址。把 /etc/caddy/Caddyfile 中所有出现旧名称的地方都替换为您的域名,然后以 root 身份运行 systemctl reload caddy。