Chuyển đến nội dung
Tài liệu

Hướng dẫn sử dụng

Cấu hình nginx

Tài liệu này hướng dẫn cấu hình để chạy Zittme trên nginx. Nếu bạn dùng Apache thì không cần tài liệu này. Tệp .htaccess trong bản phân phối sẽ tự xử lý.

Cách dễ nhất: trợ lý cấu hình

Zittme cung cấp trợ lý tạo cấu hình nginx. Hãy dùng cách nào thuận tiện nhất dưới đây.

  • Màn hình kiểm tra môi trường của trình cài đặt: nếu địa chỉ ngắn (rewrite) chưa được thiết lập, trợ lý sẽ phát hiện môi trường máy chủ và tạo cấu hình phù hợp cùng lệnh áp dụng. Chỉ cần sao chép và dán.
  • Trợ lý địa chỉ ngắn trong Quản trị > Cài đặt hệ thống: bạn vẫn dùng được chức năng này sau khi cài đặt.
  • Script áp dụng một lần: common/scripts/setup-nginx.sh trong bản phân phối

Nếu muốn tự cấu hình, hãy tham khảo phần dưới.

Vị trí tệp cấu hình

Bản phân phốiCấu hình website
Ubuntu / Debian/etc/nginx/sites-available/ (kích hoạt bằng liên kết tượng trưng vào sites-enabled/)
CentOS / RHEL/etc/nginx/conf.d/

Ví dụ server block

Toàn bộ quy tắc nằm trong common/manual/server_config/zittme-nginx.conf của bản phân phối. Khung cơ bản như sau.

server {
    listen 80;
    server_name example.com;
    root /var/www/mysite;
    index index.php index.html;
    client_max_body_size 32m;

    # 여기에 zittme-nginx.conf 의 규칙(차단·rewrite)을 넣거나 include 합니다

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }
}
  • root là đường dẫn cài đặt Zittme, index bắt buộc phải có index.php.
  • client_max_body_size là dung lượng tải lên cho phép. Hãy điều chỉnh theo kích thước tệp đính kèm.
  • Đường dẫn socket PHP-FPM khác nhau tùy máy chủ. Kiểm tra bằng ls /run/php/, hoặc bạn có thể dùng kiểu cổng (fastcgi_pass 127.0.0.1:9000;).

Lưu ý thứ tự quy tắc

Quy tắc rewrite của Zittme đã bao gồm sẵn khối location / { try_files ... }. Nếu thêm trùng khối này vào cấu hình website sẽ gây lỗi. Hãy đặt các quy tắc chặn (các khối location) trước khối xử lý PHP.

Áp dụng và kiểm tra

nginx -t
systemctl reload nginx

nginx -t phải in ra ok. Nếu có vấn đề, hãy xem /var/log/nginx/error.log.

Quy tắc chặn bảo mật

zittme-nginx.conf bao gồm các quy tắc ngăn truy cập trực tiếp qua web vào tệp template, cấu hình và bộ nhớ đệm. Ngay cả khi tự viết cấu hình, bạn nhất định phải đưa các quy tắc chặn này vào. Nếu bỏ sót, bản gốc template và các tệp nội bộ có thể bị lộ ra ngoài.