部署
Strapi 为您的项目或应用程序提供了许多可能的部署选项。Strapi 可以部署在传统的主机服务器上,或者像 21YunBox、 Render、 Heroku、 AWS、 Azure 等服务。下面的文档介绍了如何使用 Strapi 在本地进行开发,以及如何使用各种托管选项部署 Strapi。
::: tip 在 数据库指南 中介绍了与 Strapi 一起部署数据库。 :::
托管提供商指南
在不同平台上部署的手动指南,对于一键式和码头式,请参阅 安装 指南。
可选的软件指南
当在生产或类似生产的环境中使用 Strapi 时,附加的可选软件补充指南可以补充或改进部署过程。
建议的要求
为了为 Strapi 提供尽可能好的环境,有一些需求,这些需求既适用于开发(本地) ,也适用于登台和生产工作流程。
- Node LTS (v12 or V14) 注意,Node 的奇数版本永远不会被支持(例如 v13,v15).
- NPM v6 or whatever ships with the LTS Node versions
- Typical standard build tools for your OS (the
build-essentials
package on most Debian-based systems) - 至少 1 个 CPU 内核(强烈推荐至少 2 个)
- 至少 2gb 内存(适度推荐 4)
- 32 GB of 操作系统推荐的最小存储空间或 32GB 的 free 自由 space 空间
- 支持的数据库版本
- MySQL >= 5.6
- MariaDB >= 10.1
- PostgreSQL >= 10
- SQLite >= 3
- MongoDB >= 3.6
- 支持的操作系统
- Ubuntu >= 18.04 (LTS-Only)
- Debian >= 9.x
- CentOS/RHEL >= 8
- macOS Mojave or newer (ARM not supported)
- Windows 10
- Docker - docker repo
应用程序配置
1. 配置
我们总是建议您使用环境变量来根据环境配置应用程序:
Path — ./config/server.js
.
module.exports = ({ env }) => ({
host: env('APP_HOST', '0.0.0.0'),
port: env.int('NODE_PORT', 1337),
});
然后你可以创建一个 .env
文件或者直接使用你用来设置环境变量的部署平台:
Path — .env
.
APP_HOST=10.0.0.1
NODE_PORT=1338
::: tip 要了解更多关于配置的信息,可以阅读 这里 的文档 :::
2. 启动服务器
在生产环境中运行服务器之前,您需要为生产环境构建管理面板
:::: tabs
::: tab yarn
NODE_ENV=production yarn build
:::
::: tab npm
NODE_ENV=production npm run build
:::
::: tab Windows
npm install cross-env
Then in your package.json
scripts section:
"production": "cross-env NODE_ENV=production npm run build"
:::
::::
使用 production
设置运行服务器。
:::: tabs
::: tab yarn
NODE_ENV=production yarn start
:::
::: tab npm
NODE_ENV=production npm start
:::
::: tab Windows
npm install cross-env
Then in your package.json
scripts section:
"production": "cross-env NODE_ENV=production npm start"
:::
::::
::: warning 我们强烈推荐使用 pm2 来管理您的流程。 :::
如果您需要一个 ./server.js
文件来运行 node server.js
而不是 npm run start
,那么创建一个。如下所示:
const strapi = require('strapi');
strapi(/* {...} */).start();
高级配置
如果您希望将管理托管在 API 之外的其他服务器上,请查看这个专门的部分 。