Strapi的安装

目录

老实说,strapi的安装真的不是一件容易的事情。

第一步想简单化,于是就用Docker compose来安装,结果并不容易,官方文档不可用,改了半天终于跑起来,然后,嘿嘿,dockerhub上的strapi:latest 早就过期很久了。

于是又琢磨它那个Docker build版本的,问题是,都在宿主机环境build出来了,然后再放到Docker镜像中跑,岂不是脱裤子放屁,多此一举么。

于是回到原点,需要在CLI环境下安装,然后要部署到正式生产环境。

步骤如下:

一、装mysql 8.0
1apt install wget lsb-release gnupg -y
2
3wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
4
5dpkg -i mysql-apt-config_0.8.29-1_all.deb
6
7apt update
8
9apt install mysql-server
二、装NVM,nodejs和yarn
 1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
 2
 3source ~/.nvm/nvm.sh
 4
 5nvm ls-remote
 6
 7nvm install v20.19.5
 8
 9node -v
10
11npm install -g yarn
12
13npm list -g
三、初始化strapi
1mkdir /data
2
3cd /data
4
5yarn create strapi
6
7# 我们要跳过它那个免费30天的grow方案
8# 然后数据库是 mysql , 填入mysql的一系列参数
9# 使用ts
四、配置strapi
 1# 加入自己的域名
 2vi /data/strapi/config/server.ts
 3
 4export default ({ env }) => ({
 5  host: env('HOST', '0.0.0.0'),
 6  port: env.int('PORT', 1337),
 7  url: 'https://blog.rendoumi.com',
 8  app: {
 9    keys: env.array('APP_KEYS'),
10  },
11});
12
13
14# 建立新文件
15vi /data/strapi/src/admin/vite.config.ts
16
17import { defineConfig, mergeConfig } from 'vite';
18
19export default (config) => {
20  return mergeConfig(config, defineConfig({
21    resolve: {
22      alias: {
23        '@': '/src',
24      },
25    },
26    server: {
27      allowedHosts: true
28    }
29  }));
30};
五、安装nginx,运行程序
 1apt install nginx
 2
 3# 注释掉无用配置
 4vi /etc/nginx/nginx.conf
 5
 6#        include /etc/nginx/sites-enabled/*;
 7
 8
 9
10# 新增配置
11vi /etc/nginx/conf.d/strapi.conf
12
13upstream strapi {
14    server 127.0.0.1:1337;
15}
16
17server {
18    # Listen HTTP
19    listen 80;
20    server_name blog.rendoumi.com;
21
22    # Redirect HTTP to HTTPS
23    return 301 https://$host$request_uri;
24}
25
26server {
27    # Listen HTTPS
28    listen 443 ssl;
29    server_name webcms.yoov.com;
30
31    # SSL config
32    ssl_certificate /usr/local/bin/certs/certificates/blog.rendoumi.com.crt;
33    ssl_certificate_key /usr/local/bin/certs/certificates/blog.rendoumi.com.key;
34
35    # Proxy Config
36    location / {
37        proxy_pass http://strapi;
38        proxy_http_version 1.1;
39        proxy_set_header X-Forwarded-Host $host;
40        proxy_set_header X-Forwarded-Server $host;
41        proxy_set_header X-Real-IP $remote_addr;
42        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
43        proxy_set_header X-Forwarded-Proto $scheme;
44        proxy_set_header Host $http_host;
45        proxy_set_header Upgrade $http_upgrade;
46        proxy_set_header Connection "Upgrade";
47        proxy_pass_request_headers on;
48    }
49}
50
51
52cd /data/strapi
53
54yarn develop

然后登录就可以了,诡异的是第四步,如果不gen vite.config.ts,那nginx代理访问local host:1337上会出问题。

image-20251016092152030


NVM管理的Nodejs如何做成systemd的serivce服务
comments powered by Disqus