0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Hướng Dẫn Chi Tiết Tích Hợp Node.js và WordPress Trên Cùng Một Tên Miền Sử Dụng Nginx Trên AlmaLinux

Đăng vào 1 năm trước

• 3 phút đọc

Chủ đề:

Development

Tích Hợp Node.js và WordPress Trên Cùng Một Tên Miền

Bạn muốn xây dựng một website mạnh mẽ với Node.js và tích hợp một blog WordPress mượt mà? Bài viết này sẽ hướng dẫn bạn cách kết hợp hai nền tảng này trên cùng một tên miền, sử dụng Nginx trên AlmaLinux. Điều này không chỉ giúp tạo ra một sự hiện diện trực tuyến liền mạch mà còn tối ưu hóa cho SEO.

Chuẩn Bị Trước Khi Bắt Đầu

Trước khi đi vào chi tiết, hãy chắc chắn rằng bạn đã chuẩn bị đầy đủ các yếu tố sau:

  • AlmaLinux 8 hoặc 9
  • Một máy chủ chạy Nginx
  • Thiết lập ứng dụng Node.js cơ bản
  • Thiết lập WordPress
  • Kiến thức cơ bản về cấu hình Nginx

Bước 1: Cài Đặt Nginx Trên AlmaLinux

Để bắt đầu, bạn cần cài đặt Nginx trên AlmaLinux. Đầu tiên, hãy cập nhật hệ thống và cài đặt các phụ thuộc cần thiết bằng các lệnh sau:

bash Copy
sudo dnf update -y
sudo dnf install -y epel-release
sudo dnf install -y nodejs npm nginx

Bước 2: Tạo Ứng Dụng Node.js Đơn Giản

Bạn có thể tạo một ứng dụng Node.js đơn giản bằng cách sử dụng Express. Đầu tiên, tạo thư mục cho ứng dụng:

bash Copy
mkdir my-node-app
cd my-node-app
npm init -y
npm install express //Cài đặt Express (hoặc framework Node.js bạn thích)

Mã Nguồn Ứng Dụng Node.js

Tạo file app.js với nội dung sau:

javascript Copy
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Chào mừng bạn đến với website của tôi!');
});

app.listen(port, () => {
  console.log(`Ứng dụng Node.js chạy trên cổng ${port}`);
});

Quản Lý Quy Trình Với PM2

Để quản lý quy trình Node.js, bạn có thể sử dụng PM2:

bash Copy
sudo npm install -g pm2
pm2 start app.js
pm2 startup systemd

Bước 3: Cài Đặt WordPress

Để cài đặt WordPress, hãy tải xuống và giải nén WordPress vào thư mục mong muốn:

bash Copy
cd /var/www/example.com
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mv wordpress blog

Bước 4: Cấu Hình Nginx

Tiếp theo, bạn cần cấu hình cho Nginx bằng cách tạo file cấu hình tại /etc/nginx/conf.d/example.com.conf:

nginx Copy
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;

    # Ứng dụng Node.js (tên miền gốc)
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    # Blog WordPress
    location /blog {
        alias /var/www/example.com/blog;
        try_files $uri $uri/ /blog/index.php?$args;

        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php-fpm/www.sock;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
        }
    }
}

Bước 5: Thiết Lập Quyền Và Bảo Mật

Đảm bảo quyền truy cập cho thư mục WordPress:

bash Copy
sudo chown -R nginx:nginx /var/www/example.com
sudo chmod -R 755 /var/www/example.com

Bước 6: Khởi Động Dịch Vụ

Cuối cùng, bạn cần khởi động dịch vụ Nginx và ứng dụng Node.js:

bash Copy
sudo systemctl enable nginx
sudo systemctl enable pm2-root
sudo systemctl start nginx
pm2 startup
pm2 save

Kết Luận

Bây giờ, bạn đã hoàn tất việc cấu hình một trang web Node.js hoạt động như trang chính, đồng thời một blog WordPress được tích hợp tại /blog. Thiết lập này cho phép mỗi ứng dụng hoạt động độc lập nhưng vẫn có thể sử dụng chung một tên miền, giúp quản lý và triển khai dễ dàng hơn.

Khuyến Nghị Bổ Sung

  • Triển khai SSL với Let's Encrypt để bảo mật
  • Thiết lập sao lưu định kỳ để tránh mất mát dữ liệu
    source: viblo
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào