Strapi là một Hệ thống quản lý nội dung (CMS) mã nguồn mở, không có giao diện người dùng, được xây dựng bằng ngôn ngữ lập trình JavaScript. Giống như các CMS không có giao diện người dùng khác, Strapi không có giao diện người dùng ngay khi cài đặt. Nó sử dụng API cho giao diện người dùng, cho phép bạn xây dựng trang web bằng các khuôn khổ phổ biến như React và Next.js. Dựa trên hệ thống plugin, Strapi là một CMS linh hoạt có bảng điều khiển quản trị và API có thể mở rộng - và mọi phần đều có thể tùy chỉnh để phù hợp với bất kỳ trường hợp sử dụng nào. Strapi cũng có một hệ thống người dùng tích hợp để quản lý chi tiết những gì người quản trị và người dùng cuối có quyền truy cập.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt phiên bản cộng đồng của Strapi CMS trên máy chủ Rocky Linux 9 cùng với Nginx làm máy chủ proxy ngược.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Tường lửa hoạt động với các vùng khác nhau và vùng công cộng là vùng mặc định mà chúng ta sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Nó sẽ hiển thị thông tin sau đầu ra.
Strapi cần có cổng HTTP và HTTPS để hoạt động. Mở chúng ra.
Tải lại tường lửa để áp dụng các thay đổi.
Liệt kê tất cả các dịch vụ một lần nữa.
Bạn sẽ nhận được kết quả sau.
Chạy lệnh sau để thêm khóa GPG của PostgreSQL.
Cài đặt tệp RPM của kho lưu trữ PostgreSQL.
Vô hiệu hóa PostgreSQL tích hợp module.
Bây giờ, bạn có thể cài đặt PostgreSQL bằng lệnh bên dưới.
Khởi tạo cơ sở dữ liệu.
Kích hoạt dịch vụ PostgreSQL.
Khởi động PostgreSQL dịch vụ.
Kiểm tra trạng thái của dịch vụ PostgreSQL.
Khởi chạy PostgreSQL shell.
Tạo cơ sở dữ liệu Strapi.
Tạo người dùng Strapi và chọn mật khẩu mạnh.
Thay đổi chủ sở hữu cơ sở dữ liệu thành người dùng Strapi.
Thoát khỏi shell.
Xác minh rằng thông tin đăng nhập của bạn hoạt động.
Thoát khỏi shell bằng cách nhập
Tải xuống trình cài đặt Node v18 từ Nodesource.
Cài đặt Node.js.
Xác minh Node.js phiên bản.
Nhập
Tùy thuộc vào yêu cầu của bạn, bạn có thể chọn Typescript hoặc JavaScript làm ngôn ngữ cho Strapi.
Sau khi cài đặt hoàn tất, bạn đã sẵn sàng để xây dựng dự án Strapi của mình.
Chuyển đến thư mục dự án.
Chạy lệnh sau để xây dựng dự án, bao gồm Giao diện người dùng quản trị Strapi.
Khởi động máy chủ Strapi bằng lệnh sau.
Ứng dụng của bạn sẽ hiển thị trên URL . Nhưng trước tiên, hãy mở cổng trong tường lửa.
Sau khi mở URL, bạn sẽ thấy màn hình sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22376%22%3E%3C/svg%3E
Nhấn Ctrl + C trong terminal để dừng máy chủ. Bạn nên xóa quy tắc tường lửa vì chúng ta không cần đến nó.
Chuyển sang trang chủ thư mục.
Cài đặt PM2.
Tạo và mở tệp cấu hình PM2 cho chỉnh sửa.
Dán nội dung sau vào tệp. Đảm bảo nhập đúng tên thư mục cùng với thông tin đăng nhập Postgres.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Chạy phiên bản Strapi của bạn ở chế độ nền bằng PM2.
Bạn sẽ nhận được kết quả đầu ra sau.
Các ứng dụng chạy trên PM2 sẽ tự động khởi động lại nếu chúng bị sập hoặc bị tắt.
Tạo một tập lệnh systemd khởi động bằng lệnh sau.
Bạn sẽ nhận được thông báo sau đầu ra.
Sao chép lệnh từ đầu ra ở trên và chạy nó.
Bạn sẽ nhận được thông tin sau đầu ra.
Lưu danh sách quy trình PM2.
Dịch vụ Strapi của bạn hiện đang chạy ở chế độ nền trong chế độ sản xuất.
Tạo và mở tệp
Dán mã sau vào nó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Cài đặt máy chủ Nginx.
Xác minh cài đặt.
Bật và khởi động máy chủ Nginx.
Kiểm tra trạng thái của máy chủ.
Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho việc đó. Vì Rocky Linux không đi kèm với nó, hãy cài đặt trình cài đặt Snapd. Yêu cầu kho lưu trữ EPEL để hoạt động.
Cài đặt Snapd.
Bật và khởi động Snap dịch vụ.
Cài đặt gói lõi Snap và đảm bảo rằng phiên bản Snapd của bạn được cập nhật.
Tạo các liên kết cần thiết để Snapd làm việc.
Phát hành lệnh sau để cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo rằng lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Xác minh cài đặt.
Chạy lệnh sau để tạo Chứng chỉ SSL.
Lệnh trên sẽ tải xuống chứng chỉ vào
Tạo chứng chỉ nhóm Diffie-Hellman.
Để kiểm tra xem việc gia hạn SSL có hoạt động tốt không, hãy chạy thử quá trình.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tạo và mở tệp
Dán mã sau vào đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Xác minh cú pháp tệp cấu hình Nginx.
Khởi động lại Nginx dịch vụ.
Bây giờ bạn có thể truy cập Strapi CMS qua URL
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22712%22%20height=%22370%22%3E%3C/svg%3E
Truy cập URL
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22559%22%20height=%22750%22%3E%3C/svg%3E
Điền thông tin quản trị của bạn và nhấp vào nút Bắt đầu để chuyển đến màn hình bảng điều khiển quản trị.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22417%22%3E%3C/svg%3E
Từ đây, bạn có thể bắt đầu tạo nội dung trên Strapi.
Chuyển sang thư mục dự án và mở tệp
Nâng cấp tất cả các số phiên bản gói Strapi lên phiên bản Strapi ổn định mới nhất. Bạn có thể tải phiên bản mới nhất có sẵn từ Trang phát hành GitHub của Strapi.
Tại đây, bạn cần thay đổi
Cài đặt phiên bản nâng cấp.
Xây dựng lại bảng điều khiển Quản trị.
Khởi động máy chủ một lần nữa.
Cài đặt Strapi của bạn hiện đã được nâng cấp và đang chạy.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt phiên bản cộng đồng của Strapi CMS trên máy chủ Rocky Linux 9 cùng với Nginx làm máy chủ proxy ngược.
Điều kiện tiên quyết
-
Máy chủ chạy Rocky Linux 9 với tối thiểu 2GB RAM và 1 lõi CPU.
-
Người dùng không phải root có quyền sudo.
-
Tên miền đủ điều kiện (FQDN) nhưstrapi.example.com
.
-
Tạo chắc chắn mọi thứ đã được cập nhật.
Mã:
$ sudo dnf update
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là để cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --state
running
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --reload
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client http https ssh
Bước 2 - Cài đặt và cấu hình PostgreSQL
Strapi hoạt động với PostgreSQL 11 trở lên. Rocky Linux 9 mặc định đi kèm với PostgreSQL 13. Chúng tôi sẽ sử dụng PostgreSQL 15 cho hướng dẫn của mình.Chạy lệnh sau để thêm khóa GPG của PostgreSQL.
Mã:
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null
Mã:
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Mã:
$ sudo dnf -qy module disable postgresql
Mã:
$ sudo dnf install -y postgresql15-server
Mã:
$ sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
Mã:
$ sudo systemctl enable postgresql-15
Mã:
$ sudo systemctl start postgresql-15
Mã:
$ 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 "
Mã:
$ sudo -i -u postgres psql
Mã:
postgres=# CREATE DATABASE strapidb;
Mã:
postgres-# CREATE USER strapiuser WITH PASSWORD 'Your_Password';
Mã:
postgres-# ALTER DATABASE strapidb OWNER TO strapiuser;
Mã:
postgres-# \q
Mã:
$ psql --username strapiuser --password --host localhost strapidb
Password:
psql (15.1)
Type "help" for help.
strapidb=>
\q
.Bước 3 - Cài đặt Node.js
Rocky Linux 9 được tích hợp sẵn Node v16, phiên bản này đã lỗi thời. Chúng tôi sẽ cài đặt phiên bản LTS mới nhất của Node là v18 tại thời điểm viết hướng dẫn này.Tải xuống trình cài đặt Node v18 từ Nodesource.
Mã:
$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
Mã:
$ sudo dnf install nodejs -y
Mã:
$ node -v
v18.13.0
Bước 4 - Cài đặt Strapi
Chạy lệnh sau để cài đặt Strapi.
Mã:
$ npx create-strapi-app@latest howtoforge-project
Need to install the following packages: [emailprotected]
Ok to proceed? (y) y
y
để tiến hành cài đặt. Tiếp theo, bạn sẽ được yêu cầu chọn loại Cài đặt. Chọn Tùy chỉnh để tiếp tục và trả lời các câu hỏi như sau.
Mã:
? 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
Sau khi cài đặt hoàn tất, bạn đã sẵn sàng để xây dựng dự án Strapi của mình.
Chuyển đến thư mục dự án.
Mã:
$ cd howtoforge-project
Mã:
$ NODE_ENV=production npm run build
Mã:
$ node ~/howtoforge-project/node_modules/.bin/strapi start
Mã:
$ sudo firewall-cmd --permanent --add-port=1337/tcp
$ sudo firewall-cmd --reload
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22376%22%3E%3C/svg%3E
Nhấn Ctrl + C trong terminal để dừng máy chủ. Bạn nên xóa quy tắc tường lửa vì chúng ta không cần đến nó.
Mã:
$ sudo firewall-cmd --permanent --remove-port=1337/tcp
$ sudo firewall-cmd --reload
Bước 5 - Cài đặt và cấu hình PM2
Thay vì khởi động máy chủ theo cách thủ công, chúng ta có thể sử dụng PM2 (Trình quản lý quy trình 2) để quản lý quy trình và tạo dịch vụ systemd cho quy trình đó.Chuyển sang trang chủ thư mục.
Mã:
$ cd ~
Mã:
$ sudo npm install pm2@latest -g
Mã:
$ sudo nano ecosystem.config.js
Mã:
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', }, }, ],
};
Chạy phiên bản Strapi của bạn ở chế độ nền bằng PM2.
Mã:
$ pm2 start ecosystem.config.js
Mã:
-------------
__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__ _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___ _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____ _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________ _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________ _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_ _\///______________\///______________\///__\///////////////__ 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 ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Tạo một tập lệnh systemd khởi động bằng lệnh sau.
Mã:
$ pm2 startup
Mã:
[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
Mã:
$ sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u navjot --hp /home/navjot
Mã:
-------------
__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__ _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___ _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____ _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________ _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________ _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_ _\///______________\///______________\///__\///////////////__ 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
Mã:
$ pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /home/navjot/.pm2/dump.pm2
Bước 6 - Cài đặt Nginx
Rocky Linux 9 được tích hợp sẵn phiên bản Nginx cũ hơn. Bạn cần tải xuống kho lưu trữ Nginx chính thức để cài đặt phiên bản mới nhất.Tạo và mở tệp
/etc/yum.repos.d/nginx.repo
để tạo kho lưu trữ Nginx chính thức.
Mã:
$ sudo nano /etc/yum.repos.d/nginx.repo
Mã:
[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
Cài đặt máy chủ Nginx.
Mã:
$ sudo dnf install -y nginx
Mã:
$ nginx -v
nginx version: nginx/1.22.1
Mã:
$ sudo systemctl enable nginx --now
Mã:
$ 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"
Bước 7 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL.Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho việc đó. Vì Rocky Linux không đi kèm với nó, hãy cài đặt trình cài đặt Snapd. Yêu cầu kho lưu trữ EPEL để hoạt động.
Mã:
$ sudo dnf install -y epel-release
Mã:
$ sudo dnf install -y snapd
Mã:
$ sudo systemctl enable snapd --now
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ 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
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.2.0
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d strapi.example.com
/etc/letsencrypt/live/strapi.example.com
thư mục trên máy chủ của bạn.Tạo chứng chỉ nhóm Diffie-Hellman.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo certbot renew --dry-run
Bước 8 - Cấu hình Nginx
Mở tệp/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Tạo và mở tệp
/etc/nginx/conf.d/strapi.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/strapi.conf
Mã:
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; }
}
Xác minh cú pháp tệp cấu hình Nginx.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
$ sudo systemctl restart nginx
https://strapi.example.com
. Bạn sẽ thấy trang sau cho thấy Strapi đang chạy ở chế độ sản xuất.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22712%22%20height=%22370%22%3E%3C/svg%3E
Truy cập URL
https://strapi.example.com/admin
để tạo người dùng quản trị viên.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22559%22%20height=%22750%22%3E%3C/svg%3E
Điền thông tin quản trị của bạn và nhấp vào nút Bắt đầu để chuyển đến màn hình bảng điều khiển quản trị.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22417%22%3E%3C/svg%3E
Từ đây, bạn có thể bắt đầu tạo nội dung trên Strapi.
Bước 9 - Nâng cấp Strapi
Bước đầu tiên trong quá trình nâng cấp Strapi là dừng máy chủ.
Mã:
$ cd ~
$ pm2 stop ecosystem.config.js
package.json
cho chỉnh sửa.
Mã:
$ cd howtoforge-project
$ nano package.json
Mã:
"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
thành phiên bản ổn định mới nhất. Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.Cài đặt phiên bản nâng cấp.
Mã:
$ npm install
Mã:
$ NODE_ENV=production npm run build
Mã:
$ cd ~
$ pm2 start ecosystem.config.js