Ինչպես տեղադրել Strapi CMS-ը Rocky Linux 9-ում


Այս էջում

  1. Նախադրյալներ
  2. Քայլ 1 - Կարգավորել Firewall-ը
  3. Քայլ 2 - Տեղադրեք և կազմաձևեք PostgreSQL
  4. Քայլ 3 - Տեղադրեք Node.js-ը
  5. Քայլ 4 - Տեղադրեք Strapi-ն
  6. Քայլ 5 - Տեղադրեք և կարգավորեք PM2-ը
  7. Քայլ 6 - Տեղադրեք Nginx
  8. Քայլ 7 - Տեղադրեք SSL-ը
  9. Քայլ 8 - Կարգավորեք Nginx-ը
  10. Քայլ 9 - Թարմացրեք Strapi-ն
  11. Եզրակացություն

Strapi-ն բաց կոդով, առանց գլխի բովանդակության կառավարման համակարգ է (CMS), որը կառուցված է JavaScript ծրագրավորման լեզվով: Ինչպես մյուս անգլուխ CMS-ները, Strapi-ն արկղից դուրս չի գալիս ճակատային մասով: Այն օգտագործում է API իր ճակատային մասի համար, որը թույլ է տալիս կառուցել վեբ կայքը՝ օգտագործելով հանրաճանաչ շրջանակներ, ինչպիսիք են React և Next.js: Հիմնվելով plugin համակարգի վրա՝ Strapi-ն ճկուն CMS է, որի ադմինիստրատորի վահանակը և API-ն ընդարձակելի են, և որի յուրաքանչյուր մաս հարմարեցված է ցանկացած օգտագործման դեպքում: Strapi-ն ունի նաև ներկառուցված օգտատերերի համակարգ՝ մանրամասնորեն կառավարելու համար, թե ինչ հասանելիություն ունեն ադմինիստրատորները և վերջնական օգտվողները:

Այս ձեռնարկում դուք կսովորեք, թե ինչպես տեղադրել Strapi CMS-ի համայնքային տարբերակը Rocky Linux 9 սերվերի վրա Nginx-ի հետ որպես հակադարձ պրոքսի սերվեր:

Նախադրյալներ

    Սերվեր, որն աշխատում է Rocky Linux 9-ով, նվազագույնը 2 ԳԲ RAM և 1 CPU Core:

    Ոչ արմատային օգտատեր՝ sudo արտոնություններով:

    Լիովին որակավորված տիրույթի անուն (FQDN), ինչպիսին է strapi.example.com-ը:

    Համոզվեք, որ ամեն ինչ թարմացվում է:

    $ sudo dnf update
    

    Մի քանի փաթեթներ, որոնք անհրաժեշտ են ձեր համակարգին:

    $ sudo dnf install wget curl nano unzip yum-utils -y
    

    Այս փաթեթներից որոշները կարող են արդեն տեղադրված լինել ձեր համակարգում:

Քայլ 1 - Կարգավորել Firewall-ը

Առաջին քայլը firewall-ի կազմաձևումն է: Rocky Linux-ն օգտագործում է Firewalld Firewall-ը: Ստուգեք firewall-ի կարգավիճակը:

$ sudo firewall-cmd --state
running

Firewall-ը աշխատում է տարբեր գոտիների հետ, և հանրային գոտին լռելյայն է, որը մենք կօգտագործենք: Թվարկեք բոլոր ծառայություններն ու նավահանգիստները, որոնք ակտիվ են firewall-ում:

$ sudo firewall-cmd --permanent --list-services

Այն պետք է ցույց տա հետևյալ արդյունքը.

cockpit dhcpv6-client ssh

Strapi-ին անհրաժեշտ են HTTP և HTTPS պորտեր՝ գործելու համար: Բացեք դրանք:

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Փոփոխությունները կիրառելու համար վերաբեռնեք firewall-ը:

$ sudo firewall-cmd --reload

Նորից նշեք բոլոր ծառայությունները:

$ sudo firewall-cmd --permanent --list-services

Դուք պետք է ստանաք հետևյալ արդյունքը.

cockpit dhcpv6-client http https ssh

Քայլ 2 - Տեղադրեք և կազմաձևեք PostgreSQL

Strapi-ն աշխատում է PostgreSQL 11 և ավելի բարձր տարբերակներով: Rocky Linux 9-ը լռելյայն առաքվում է PostgreSQL 13-ով: Մենք կօգտագործենք PostgreSQL 15-ը մեր ձեռնարկի համար:

Գործարկեք հետևյալ հրամանը՝ PostgreSQL GPG ստեղնը ավելացնելու համար:

$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null

Տեղադրեք PostgreSQL պահոցի RPM ֆայլը:

$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Անջատեք ներկառուցված PostgreSQL մոդուլը:

$ sudo dnf -qy module disable postgresql

Այժմ դուք կարող եք տեղադրել PostgreSQL՝ օգտագործելով ստորև նշված հրամանը:

$ sudo dnf install -y postgresql15-server

Նախաձեռնել տվյալների բազան:

$ sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

Միացնել PostgreSQL ծառայությունը:

$ sudo systemctl enable postgresql-15

Սկսեք PostgreSQL ծառայությունը:

$ sudo systemctl start postgresql-15

Ստուգեք PostgreSQL ծառայության կարգավիճակը:

$ sudo systemctl status postgresql-15
? postgresql-15.service - PostgreSQL 15 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-15.service; enabled; vendor preset: disabled)
     Active: active (running) since Wed 2023-02-01 13:21:27 UTC; 41min ago
       Docs: https://www.postgresql.org/docs/15/static/
    Process: 53088 ExecStartPre=/usr/pgsql-15/bin/postgresql-15-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
   Main PID: 53093 (postmaster)
      Tasks: 7 (limit: 5727)
     Memory: 45.7M
        CPU: 1.112s
     CGroup: /system.slice/postgresql-15.service
             ??53093 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/
             ??53094 "postgres: logger "
             ??53095 "postgres: checkpointer "
             ??53096 "postgres: background writer "
             ??53098 "postgres: walwriter "
             ??53099 "postgres: autovacuum launcher "
             ??53100 "postgres: logical replication launcher "

Գործարկեք PostgreSQL shell-ը:

$ sudo -i -u postgres psql

Ստեղծեք Strapi տվյալների բազա:

postgres=# CREATE DATABASE strapidb;

Ստեղծեք Strapi օգտվողին և ընտրեք ուժեղ գաղտնաբառ:

postgres-# CREATE USER strapiuser WITH PASSWORD 'Your_Password';

Փոխեք տվյալների բազայի սեփականատերը Strapi օգտագործողի:

postgres-# ALTER DATABASE strapidb OWNER TO strapiuser;

Դուրս եկեք պատյանից:

postgres-# \q

Ստուգեք, որ ձեր հավատարմագրերն աշխատում են:

$ psql --username strapiuser --password --host localhost strapidb
Password:
psql (15.1)
Type "help" for help.

strapidb=>

Դուրս եկեք պատյանից՝ մուտքագրելով \q:

Քայլ 3 - Տեղադրեք Node.js-ը

Rocky Linux 9-ը մատակարարվում է Node v16-ով, որը հնացած է: Մենք կտեղադրենք Node-ի վերջին LTS տարբերակը, որը v18 է այս ձեռնարկը գրելու պահին:

Ձեռք բերեք Node v18 տեղադրիչը Nodesource-ից:

$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -

Տեղադրեք Node.js-ը:

$ sudo dnf install nodejs -y

Ստուգեք Node.js տարբերակը:

$ node -v
v18.13.0

Քայլ 4 - Տեղադրեք Strapi-ն

Գործարկեք հետևյալ հրամանը՝ Strapi-ն տեղադրելու համար։

$ npx create-strapi-app@latest howtoforge-project
Need to install the following packages:
  [email 
Ok to proceed? (y) y

Տեղադրումը շարունակելու համար մուտքագրեք y: Հաջորդը, ձեզ կառաջարկվի ընտրել Տեղադրման տեսակը: Ընտրեք Custom՝ շարունակելու համար և պատասխանեք հարցերին հետևյալ կերպ.

? Choose your installation type Custom (manual settings)
? Choose your preferred language JavaScript
? Choose your default database client postgres
? Database name: strapidb
? Host: 127.0.0.1
? Port: 5432
? Username: strapiuser
? Password: Your_Password
? Enable SSL connection: No

Կախված ձեր պահանջներից, դուք կարող եք կամ ընտրել Typescript կամ JavaScript որպես Strapi-ի լեզու:

Տեղադրումն ավարտվելուց հետո դուք պատրաստ եք կառուցել ձեր Strapi նախագիծը:

Անցեք նախագծի գրացուցակին:

$ cd howtoforge-project

Գործարկեք հետևյալ հրամանը՝ նախագիծը կառուցելու համար, ներառյալ Strapi Admin UI-ը:

$ NODE_ENV=production npm run build

Գործարկեք Strapi սերվերը՝ օգտագործելով հետևյալ հրամանը.

$ node ~/howtoforge-project/node_modules/.bin/strapi start

Ձեր դիմումը պետք է տեսանելի լինի http://:1337 URL-ում: Բայց նախ բացեք նավահանգիստը firewall-ում:

$ sudo firewall-cmd --permanent --add-port=1337/tcp
$ sudo firewall-cmd --reload

URL-ը բացելուց հետո դուք պետք է ստանաք հետևյալ էկրանը.

Սեղմեք Ctrl + C տերմինալում՝ սերվերը դադարեցնելու համար: Դուք պետք է ջնջեք firewall-ի կանոնը, քանի որ այն մեզ պետք չի լինի:

$ sudo firewall-cmd --permanent --remove-port=1337/tcp
$ sudo firewall-cmd --reload

Քայլ 5 - Տեղադրեք և կարգավորեք PM2-ը

Սերվերը ձեռքով գործարկելու փոխարեն, մենք կարող ենք օգտագործել PM2 (Process Manager 2) գործընթացը կառավարելու և դրա համար համակարգային ծառայություն ստեղծելու համար:

Անցեք գլխավոր գրացուցակին:

$ cd ~

Տեղադրեք PM2-ը:

$ sudo npm install pm2@latest -g

Ստեղծեք և բացեք PM2 կազմաձևման ֆայլը խմբագրման համար:

$ sudo nano ecosystem.config.js

Տեղադրեք հետևյալ բովանդակությունը ֆայլում. Համոզվեք, որ մուտքագրեք ճիշտ գրացուցակի անունը Postgres-ի հավատարմագրերի հետ միասին:

module.exports = {
  apps: [
    {
      name: 'strapi',
      cwd: '/home/navjot/howtoforge-project',
      script: 'npm',
      args: 'start',
      env: {
        NODE_ENV: 'production',
        DATABASE_HOST: 'localhost',
        DATABASE_PORT: '5432',
        DATABASE_NAME: 'strapidb',
        DATABASE_USERNAME: 'strapiuser',
        DATABASE_PASSWORD: 'Your_Password',
      },
    },
  ],
};

Պահպանեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ հուշում է ավարտելուց հետո:

Գործարկեք ձեր Strapi օրինակը հետին պլանում՝ օգտագործելով PM2:

$ pm2 start ecosystem.config.js

Դուք կստանաք հետևյալ արդյունքը.

                        -------------

__/""""\____/"\____________/"\____/"""_____
 _\/"/////////"_\/""________/""__/"///////"___
  _\/"_______\/"_\/"//"____/"//"_\///______\//"__
   _\/""""\/__\/"\///"/"/_\/"___________/"/___
    _\/"/////////____\/"__\///"/___\/"________/"//_____
     _\/"_____________\/"____\///_____\/"_____/"//________
      _\/"_____________\/"_____________\/"___/"/___________
       _\/"_____________\/"_____________\/"__/"""""_
        _\///______________\///______________\///__\///////////////__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/home/navjot/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications strapi not running, starting...
[PM2] App [strapi] launched (1 instances)
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? id  ? name      ? namespace   ? version ? mode    ? pid      ? uptime ? ?    ? status    ? cpu      ? mem      ? user     ? watching ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? 0   ? strapi    ? default     ? N/A     ? fork    ? N/A      ? 0s     ? 0    ? online    ? 0%       ? 0b       ? navjot   ? disabled ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

PM2-ի տակ աշխատող հավելվածներն ինքնաբերաբար վերագործարկվում են, եթե վթարի ենթարկվեն կամ սպանվեն:

Ստեղծեք startup systemd script՝ օգտագործելով հետևյալ հրամանը.

$ pm2 startup

Դուք կստանաք հետևյալ արդյունքը.

[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u navjot --hp /home/navjot

Պատճենեք հրամանը վերը նշված ելքից և գործարկեք այն:

$ sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u navjot --hp /home/navjot

Դուք կստանաք հետևյալ արդյունքը.

                        -------------

__/""""\____/"\____________/"\____/"""_____
 _\/"/////////"_\/""________/""__/"///////"___
  _\/"_______\/"_\/"//"____/"//"_\///______\//"__
   _\/""""\/__\/"\///"/"/_\/"___________/"/___
    _\/"/////////____\/"__\///"/___\/"________/"//_____
     _\/"_____________\/"____\///_____\/"_____/"//________
      _\/"_____________\/"_____________\/"___/"/___________
       _\/"_____________\/"_____________\/"__/"""""_
        _\///______________\///______________\///__\///////////////__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target

[Service]
Type=forking
User=navjot
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/home/navjot/.local/bin:/home/navjot/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/navjot/.pm2
PIDFile=/home/navjot/.pm2/pm2.pid
Restart=on-failure

ExecStart=/usr/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/lib/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target

Target path
/etc/systemd/system/pm2-navjot.service
Command list
[ 'systemctl enable pm2-navjot' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-navjot.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-navjot...
Created symlink /etc/systemd/system/multi-user.target.wants/pm2-navjot.service → /etc/systemd/system/pm2-navjot.service.
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save

[PM2] Remove init script via:
$ pm2 unstartup systemd

Պահպանեք PM2 գործընթացների ցանկը:

$ pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /home/navjot/.pm2/dump.pm2

Ձեր Strapi ծառայությունն այժմ աշխատում է հետին պլանում՝ արտադրության ռեժիմում:

Քայլ 6 - Տեղադրեք Nginx

Rocky Linux 9-ը մատակարարվում է Nginx-ի ավելի հին տարբերակով: Վերջին տարբերակը տեղադրելու համար անհրաժեշտ է ներբեռնել պաշտոնական Nginx պահոցը:

Ստեղծեք և բացեք /etc/yum.repos.d/nginx.repo ֆայլը պաշտոնական Nginx պահոց ստեղծելու համար:

$ sudo nano /etc/yum.repos.d/nginx.repo

Դրա մեջ տեղադրեք հետևյալ կոդը.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Պահպանեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ պահանջվում է:

Տեղադրեք Nginx սերվերը:

$ sudo dnf install -y nginx

Ստուգեք տեղադրումը:

$ nginx -v
nginx version: nginx/1.22.1

Միացնել և գործարկել Nginx սերվերը:

$ sudo systemctl enable nginx --now

Ստուգեք սերվերի կարգավիճակը:

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
     Active: active (running) since Wed 2023-02-01 15:01:29 UTC; 7s ago
       Docs: http://nginx.org/en/docs/
    Process: 4637 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 4638 (nginx)
      Tasks: 2 (limit: 10884)
     Memory: 1.9M
        CPU: 8ms
     CGroup: /system.slice/nginx.service
             ??4638 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??4639 "nginx: worker process"

Քայլ 7 - Տեղադրեք SSL-ը

SSL վկայագիր ստեղծելու համար մենք պետք է տեղադրենք Certbot-ը:

Դրա համար մենք կօգտագործենք Snapd փաթեթի տեղադրիչը։ Քանի որ Rocky Linux-ը չի առաքվում դրա հետ, տեղադրեք Snapd տեղադրիչը: Այն պահանջում է, որ EPEL պահեստը աշխատի:

$ sudo dnf install -y epel-release

Տեղադրեք Snapd-ը:

$ sudo dnf install -y snapd

Միացնել և գործարկել Snap ծառայությունը:

$ sudo systemctl enable snapd --now

Տեղադրեք Snap հիմնական փաթեթը և համոզվեք, որ Snapd-ի ձեր տարբերակը արդիական է:

$ sudo snap install core && sudo snap refresh core

Ստեղծեք անհրաժեշտ հղումներ Snapd-ի աշխատանքի համար:

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Certbot-ը տեղադրելու համար թողարկեք հետևյալ հրամանը.

$ sudo snap install --classic certbot

Օգտագործեք հետևյալ հրամանը՝ համոզվելու համար, որ Certbot հրամանը կարող է գործարկվել՝ ստեղծելով խորհրդանշական հղում դեպի /usr/bin գրացուցակը:

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Ստուգեք տեղադրումը:

$ certbot --version
certbot 2.2.0

Գործարկեք հետևյալ հրամանը՝ SSL վկայական ստեղծելու համար:

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email  -d strapi.example.com

Վերոնշյալ հրամանը վկայական կներբեռնի ձեր սերվերի /etc/letsencrypt/live/strapi.example.com գրացուցակում:

Ստեղծեք Diffie-Hellman խումբ վկայագիր:

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Ստուգելու համար, թե արդյոք SSL-ի նորացումը լավ է աշխատում, կատարեք գործընթացը չոր:

$ sudo certbot renew --dry-run

Եթե սխալներ չկան, ապա ամեն ինչ պատրաստ է: Ձեր վկայականը ինքնաբերաբար կերկարաձգվի:

Քայլ 8 - Կարգավորեք Nginx-ը

Բացեք ֆայլը /etc/nginx/nginx.conf խմբագրման համար:

$ sudo nano /etc/nginx/nginx.conf

Ավելացրեք հետևյալ տողը include /etc/nginx/conf.d/*.conf; տողից առաջ:

server_names_hash_bucket_size  64;

Պահպանեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ պահանջվում է:

Ստեղծեք և բացեք ֆայլը /etc/nginx/conf.d/strapi.conf խմբագրման համար:

$ sudo nano /etc/nginx/conf.d/strapi.conf

Դրա մեջ տեղադրեք հետևյալ կոդը.

server {
  # Redirect any http requests to https
  listen         80;
  listen         [::]:80;
  server_name    strapi.example.com;
  return 301     https://$host$request_uri;
}

server {
  listen                    443 ssl http2;
  listen                    [::]:443 ssl http2;
  server_name               strapi.example.com;

  access_log                /var/log/nginx/strapi.access.log;
  error_log                 /var/log/nginx/strapi.error.log;

  # TLS configuration
  ssl_certificate           /etc/letsencrypt/live/strapi.example.com/fullchain.pem;
  ssl_certificate_key       /etc/letsencrypt/live/strapi.example.com/privkey.pem;
  ssl_trusted_certificate   /etc/letsencrypt/live/strapi.example.com/chain.pem;
  ssl_protocols             TLSv1.2 TLSv1.3;

  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
  ssl_prefer_server_ciphers on;
  ssl_session_cache         shared:SSL:50m;
  ssl_session_timeout       1d;

  # OCSP Stapling ---
  # fetch OCSP records from URL in ssl_certificate and cache them
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  location / {
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header	    X-Forwarded-Host $http_host;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass              http://127.0.0.1:1337;
  }
}

Պահպանեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ հուշում է ավարտելուց հետո:

Ստուգեք Nginx կազմաձևման ֆայլի շարահյուսությունը:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Վերագործարկեք Nginx ծառայությունը:

$ sudo systemctl restart nginx

Այժմ կարող եք մուտք գործել Strapi CMS https://strapi.example.com URL-ի միջոցով: Դուք կտեսնեք հետևյալ էջը, որը ցույց է տալիս, որ Strapi-ն աշխատում է արտադրության ռեժիմում:

Այցելեք https://strapi.example.com/admin URL-ը՝ ադմինիստրատորի օգտատեր ստեղծելու համար:

Լրացրեք ձեր ադմինիստրատորի տվյալները և սեղմեք Սկսենք կոճակը, որպեսզի անցնեք ադմինիստրատորի վահանակի էկրանին:

Այստեղից կարող եք սկսել Strapi-ում բովանդակություն ստեղծել:

Քայլ 9 - Թարմացրեք Strapi-ն

Strapi-ի արդիականացման առաջին քայլը սերվերի դադարեցումն է:

$ cd ~
$ pm2 stop ecosystem.config.js

Անցեք նախագծի գրացուցակ և բացեք package.json ֆայլը խմբագրման համար:

$ cd howtoforge-project
$ nano package.json

Թարմացրեք Strapi փաթեթի բոլոր տարբերակների համարները վերջին կայուն Strapi տարբերակին: Դուք կարող եք ստանալ վերջին հասանելի տարբերակը Strapi-ի GitHub թողարկումների էջից:

"devDependencies": {},
  "dependencies": {
    "@strapi/strapi": "4.5.5",
    "@strapi/plugin-users-permissions": "4.5.5",
    "@strapi/plugin-i18n": "4.5.5",
    "pg": "8.6.0"
  },

Այստեղ դուք պետք է փոխեք 4.5.5 վերջին կայուն տարբերակին: Պահպանեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ հուշում է ավարտելուց հետո:

Տեղադրեք արդիականացված տարբերակը:

$ npm install

Վերակառուցեք կառավարման վահանակը:

$ NODE_ENV=production npm run build

Նորից գործարկեք սերվերը:

$ cd ~
$ pm2 start ecosystem.config.js

Ձեր Strapi-ի տեղադրումն այժմ թարմացվել է և աշխատում է:

Եզրակացություն

Սա ավարտում է մեր ձեռնարկը Strapi CMS-ը Rocky Linux 9 սերվերի վրա Nginx-ի հետ որպես հակադարձ վստահված սերվերի տեղադրման վերաբերյալ: Եթե ունեք հարցեր, տեղադրեք դրանք ստորև ներկայացված մեկնաբանություններում: