Triển khai Tengine trên hệ thống Linux

Bài viết này sẽ hướng dẫn chi tiết cách cài đặt và cấu hình Tengine, một phiên bản mở rộng của Nginx do Alibaba phát triển, trên một hệ thống Linux (ví dụ: CentOS).

1. Tải về và Biên dịch Tengine

Để bắt đầu, chúng ta cần tải mã nguồn của Tengine và biên dịch nó từ mã nguồn. Điều này đảm bảo bạn có phiên bản mới nhất và có thể tùy chỉnh các module nếu cần.

Sử dụng wget để tải gói nén Tengine từ trang chủ. Phiên bản được sử dụng trong ví dụ này là 2.3.3, bạn có thể kiểm tra phiên bản mới nhất trên trang chính thức của Tengine.

$ wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
$ tar -zxvf tengine-2.3.3.tar.gz
$ cd tengine-2.3.3

Tạo một thư mục riêng biệt để cài đặt Tengine, giúp việc quản lý và nâng cấp dễ dàng hơn.

$ sudo mkdir /opt/tengine-server

Bây giờ, tiến hành cấu hình, biên dịch và cài đặt Tengine. Lệnh configure kiểm tra các thư viện cần thiết và chuẩn bị cho quá trình biên dịch, với --prefix chỉ định thư mục cài đặt.

$ ./configure --prefix=/opt/tengine-server
$ make
$ sudo make install

Sau khi cài đặt hoàn tất, bạn có thể xác minh phiên bản Tengine để đảm bảo mọi thứ đã được cài đặt đúng cách:

$ cd /opt/tengine-server/sbin
$ ./nginx -v

Kết quả sẽ hiển thị phiên bản Tengine và Nginx cơ sở:

Tengine version: Tengine/2.3.3
nginx version: nginx/1.18.0

2. Khắc phục lỗi cài đặt thường gặp

Trong quá trình cấu hình và biên dịch, bạn có thể gặp một số lỗi do thiếu các thư viện phụ thuộc. Dưới đây là các lỗi phổ biến và cách giải quyết chúng.

Lỗi thiếu trình biên dịch C (GCC)

Nếu bạn thấy thông báo lỗi ./configure: error: C compiler cc is not found, điều này có nghĩa là hệ thống thiếu trình biên dịch C.

$ sudo yum -y install gcc

Lỗi thư viện PCRE

Lỗi ./configure: error: the HTTP rewrite module requires the PCRE library. cho biết bạn cần cài đặt thư viện PCRE (Perl Compatible Regular Expressions), được sử dụng bởi module rewrite của HTTP.

$ sudo yum -y install pcre-devel

Lỗi thư viện OpenSSL

Thông báo lỗi ./configure: error: SSL modules require the OpenSSL library. chỉ ra rằng các module SSL yêu cầu thư viện OpenSSL để mã hóa và giải mã HTTPS.

$ sudo yum -y install openssl openssl-devel

3. Các lệnh quản lý Tengine cơ bản

Tengine sử dụng bộ lệnh tương tự như Nginx. Dưới đây là các lệnh quản lý Tengine phổ biến mà bạn sẽ sử dụng sau khi cài đặt.

Để thực thi các lệnh này, bạn cần điều hướng đến thư mục sbin trong thư mục cài đặt Tengine (ví dụ: /opt/tengine-server/sbin).

$ cd /opt/tengine-server/sbin

Khởi động và Dừng

  • ./nginx: Khởi động Tengine với tệp cấu hình mặc định (/opt/tengine-server/conf/nginx.conf).
  • ./nginx -s stop: Dừng Tengine ngay lập tức (tắt nhanh).
  • ./nginx -s quit: Dừng Tengine một cách duyên dáng, chờ các worker process xử lý xong các request hiện tại.

Tải lại cấu hình và Quản lý nhật ký

  • ./nginx -s reload: Gửi tín hiệu đến master process để tải lại cấu hình mà không làm gián đoạn các kết nối hiện có (hot reload).
  • ./nginx -s reopen: Yêu cầu Tengine mở lại các tệp nhật ký. Điều này hữu ích sau khi bạn xoay vòng nhật ký (log rotation).

Kiểm tra và Xem cấu hình

  • ./nginx -t: Kiểm tra cú pháp của tệp cấu hình và thoát. Rất hữu ích trước khi tải lại cấu hình.
  • ./nginx -t -c <đường_dẫn_cấu_hình>: Kiểm tra cú pháp của một tệp cấu hình cụ thể.
  • ./nginx -T: Hiển thị cấu hình cuối cùng mà Tengine sẽ sử dụng, bao gồm cả các tệp cấu hình được include.

Các tùy chọn nâng cao

  • ./nginx -p <thư_mục_chương_trình>: Chỉ định thư mục gốc của Tengine.
  • ./nginx -p <thư_mục_chương_trình> -c <tệp_cấu_hình>: Chỉ định cả thư mục gốc và tệp cấu hình, hữu ích khi bạn muốn chạy Tengine từ một vị trí tùy chỉnh.

Dừng tất cả các tiến trình Tengine

Nếu cần dừng tất cả các tiến trình Tengine một cách mạnh mẽ, bạn có thể sử dụng lệnh killall:

$ sudo killall nginx

4. Đặt lệnh Tengine vào biến môi trường PATH

Để thuận tiện hơn, bạn có thể muốn chạy lệnh nginx trực tiếp từ bất kỳ đâu trong terminal mà không cần điều hướng đến thư mục /opt/tengine-server/sbin mỗi lần. Có ba phương pháp chính để làm điều này.

Phương pháp 1: Tạo liên kết tượng trưng (Symlink)

Cách đơn giản nhất là tạo một liên kết tượng trưng từ tệp thực thi nginx đến một thư mục đã có trong biến môi trường PATH của hệ thống, ví dụ /usr/local/bin/.

$ sudo ln -s /opt/tengine-server/sbin/nginx /usr/local/bin/nginx

Sau đó, bạn có thể chạy nginx -s reload trực tiếp.

Phương pháp 2: Sửa đổi tệp /etc/profile

Phương pháp này áp dụng thay đổi cho tất cả người dùng trên hệ thống. Chỉnh sửa tệp /etc/profile:

$ sudo vim /etc/profile

Thêm dòng sau vào cuối tệp:

export PATH=/opt/tengine-server/sbin:$PATH

Lưu tệp và thoát. Sau đó, tải lại cấu hình profile để áp dụng thay đổi:

$ source /etc/profile

Phương pháp 3: Sửa đổi tệp ~/.bashrc

Nếu bạn muốn thay đổi chỉ áp dụng cho người dùng hiện tại, hãy chỉnh sửa tệp ~/.bashrc trong thư mục nhà của bạn:

$ vim ~/.bashrc

Thêm dòng tương tự vào cuối tệp:

export PATH=/opt/tengine-server/sbin:$PATH

Lưu tệp và thoát. Tải lại cấu hình .bashrc:

$ source ~/.bashrc

Sau khi thực hiện một trong ba phương pháp trên, bạn có thể gọi các lệnh Tengine (nginx) trực tiếp từ bất kỳ đâu trong terminal.

Thẻ: tengine nginx linux CentOS Cài đặt Web Server

Đăng vào ngày 12 tháng 7 lúc 22:17