Tích hợp Node.js và WordPress trên cùng một tên miền: Hướng dẫn chi tiết
Bạn muốn xây dựng một website mạnh mẽ với Node.js và tích hợp 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 bằng Nginx trên AlmaLinux, tạo nên sự hiện diện trực tuyến liền mạch và tối ưu SEO.
Trước khi bắt đầu, hãy đảm bảo bạn có những điều 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
- Làm quen với cấu hình Nginx
Bước 1: Chuẩn bị máy chủ
Bạn có thể cài đặt Nginx trên AlmaLinux bằng cách trước tiên 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:
sudo dnf update -y
sudo dnf install -y epel-release
sudo dnf install -y nodejs npm nginx
Bước 2: Bạn có thể tạo một ứng dụng đơn giản bằng Express
mkdir my-node-app
cd my-node-app
npm init -y
npm install express //Install Express (or your preferred Node.js framework)
Tạo ứng dụng Node.js cơ bản
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Welcome to my website!');
});
app.listen(port, () => {
console.log(`Node.js app running on port ${port}`);
});
Sử dụng PM2 để quản lý quy trình
sudo npm install -g pm2
pm2 start app.js
pm2 startup systemd
Bước 3: Cài đặt WordPress
Tải xuống và giải nén WordPress
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
Tạo /etc/nginx/conf.d/example.com.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
# Node.js application (root domain)
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;
}
# WordPress blog
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: Bảo mật và quyền
sudo chown -R nginx:nginx /var/www/example.com
sudo chmod -R 755 /var/www/example.com
Bước 6: Bắt đầu dịch vụ
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 có một trang web Node.js hoạt động như trang web chính và một blog WordPress nằm tại /blog trong cùng một tên miền sử dụng Nginx. Thiết lập này cung cấp một giải pháp mà mỗi ứng dụng có thể hoạt động riêng biệt trong khi sử dụng cùng một tên miền, để quản lý và triển khai ứng dụng web và nội dung hợp lý. Cảm ơn các bạn đã theo dõi!
Khuyến nghị bổ sung
- Triển khai SSL với Let's Encrypt
- Thiết lập sao lưu thường xuyên
All Rights Reserved