如何部署一个Strapi服务器
Headless CMS的优势就在于能自由定制数据结构,完全按照你的需求来设置
2023年3月14日
本文共有1007字,预计阅读时间5分钟
Headless CMS
准备
- 一台 VPS 或任何轻量应用服务器;
- 一个域名。
数据库准备
1sudo apt-get update
2sudo apt-get install postgresql postgresql-contrib
1sudo -u postgres psql
1CREATE DATABASE strapi;
username
和password
替换为你自己的:1CREATE USER $username WITH PASSWORD '$password';
1ALTER DATABASE strapi OWNER TO $username;
1GRANT ALL PRIVILEGES ON DATABASE strapi TO $username;
Strapi安装
clone
下来。如果没有,使用 CLI 进行安装:1npx create-strapi-app@latest my-project
pg
:1npm install pg
1module.exports = ({ env }) => ({
2 connection: {
3 client: "postgres",
4 connection: {
5 host: env("DATABASE_HOST", "127.0.0.1"),
6 port: env.int("DATABASE_PORT", 5432),
7 database: env("DATABASE_NAME", "strapi"),
8 user: env("DATABASE_USERNAME", ""),
9 password: env("DATABASE_PASSWORD", ""),
10 },
11 useNullAsDefault: true,
12 },
13});
1nano .env
DATABASE_NAME
、DATABASE_USERNAME
等变量加入该文件。具体格式可自行搜索。npm run dev
应该就能成功跑起 Strapi 了。其他配置
1337
端口,在 Nginx 里配置到该端口的转发,将来就可以通过域名直接访问了。如何配置 Nginx 以及 HTTPS 请自行搜索。1npm install pm2@latest -g
1cd ~
2
3pm2 init
4
5sudo nano ecosystem.config.js
1module.exports = {
2 apps: [
3 {
4 name: 'your-app-name',
5 cwd: '/home/ubuntu/my-project',
6 script: 'npm',
7 args: 'start',
8 env: {
9 APP_KEYS: 'your app keys', // you can find it in your project .env file.
10 API_TOKEN_SALT: 'your api token salt',
11 ADMIN_JWT_SECRET: 'your admin jwt secret',
12 JWT_SECRET: 'your jwt secret',
13 NODE_ENV: 'production',
14 DATABASE_HOST: 'your-unique-url.rds.amazonaws.com',
15 DATABASE_PORT: '5432',
16 DATABASE_NAME: 'strapi', // DB name under 'Configuration' tab
17 DATABASE_USERNAME: 'postgres',
18 DATABASE_PASSWORD: 'Password',
19 },
20 },
21 ],
22};
1pm2 start ecosystem.config.js
1pm2 startup systemd
1pm2 save
Strapi的使用
npm run develop
启动开发环境后,登录 Strapi 即可设置数据类型。1npm run build
2
3npm run start