Hướng dẫn cài đặt OpenLiteSpeed trên CentOS 7
Cài đặt Maria DB
Chạy lệnh sau để cài đặt Maria DB:
yum install mariadb mariadb-server
Chạy Maria DB với lệnh sau:
systemctl start mariadb.service
Chạy Maria DB khi khởi động VPS với lệnh sau:
systemctl enable mariadb.service
Mặc định Maria DB chưa được bảo mật tốt lắm. Bạn chạy lệnh sau để tăng thêm tính bảo mật cho Maria DB.
/usr/bin/mysql_secure_installation
Đầu tiên nó sẽ hỏi bạn Enter current password for root. Lúc này bạn chưa có bạn password cho root nên cứ gõ Enter.
Tiếp theo nó hỏi Set Root Password? bạn gõ y rồi nhập vào một password cho tài khoản root.
Những câu hỏi sau này bạn cứ chọn y hết.
Cuối cùng bạn khởi động lại Maria DB:
systemctl restart mariadb.service
Đổi Port cho OLS
OpenLiteSpeed khi cài đặt sẽ chạy trên port 8088 chứ không phải port 80 như bình thường.
Truy cập Listeners > Nhấn vào Default hoặc nút edit bên phải
Đổi Port từ 8088 thành 80
Reload LSWS và tận hưởng.
Thay đổi phiên bản PHP đang sử dụng ở OLS
Truy cập Admin Webpanel của OLS bằng
https://IP:7080
Mặc định sử dụng user là admin, mật khẩu như bạn đổi ở trên
Truy cập tiếp
Server Configuration > External App
Nhấn vào nút Add ở góc phải
Ở mục Type, chọn LiteSpeed SAPI App
Nhấn next (cũng góc phải luôn)
Bạn có thể thiết lập như hình.
Bằng chữ cho ai thích copy hơn là gõ:
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 50
Environment: Để trống hoặc đặt theo máy chủ của bạn
PHP_LSAPI_MAX_REQUESTS=5000
PHP_LSAPI_CHILDREN=50
Initial Request Timeout (secs): 60
Retry Timeout (secs): 0
Auto Start: Chọn Yes
Command : $SERVER_ROOT/lsphp71/bin/lsphp
Max Idle Time: Đặt -1 nếu dùng Opcache, hoặc điều chỉnh thời gian tự tắt của Process PHP
Memory Soft Limit (bytes): Max RAM của VPS (ở đây mình đặt 2047M)
Memory Hard Limit (bytes): Tương Tự
Process Soft Limit: Giới hạn số process, ở đây mình để 1000
Process Hard Limit: 1500
Lưu lại, nó sẽ hiện như vậy
Chuyển qua
Server Configuration > Script Handler
Nhấn Edit ở cái sẵn có, sửa lại Handler Name thành External Applications đã đặt ở trên – lsphp71, lưu lại
Tương tự Apache, mỗi khi thực hiện thay đổi cài đặt cần reload lại services để nó hoạt động, nhấn vào nút reload bên cạnh LSWS PID ở cạnh phải.
Kiểm tra nó đã đổi qua PHP71 chưa bằng cách truy cập vào
http://IP:8088/phpinfo.php
MỘT SỐ CẤU HÌNH NÂNG CAO
General – Tuning
Number of Workers
Tùy chọn nhập: Số thật
Đây là số lượng tiến trình (Worker Process) mà OLS sẽ sử dụng. Mặc định là 1, giới hạn tối đa là 16. Mỗi tiến trình có thể sẽ sử dụng 100% của 1 CPU core để hoạt động. Bạn có thể thiết lập nó bằng tổng số core đang có trên VPS, nhưng mình vẫn khuyên là giữ trống 1 phần cho các tiến trình của PHP hay MySQL. Hoặc để yên 1 cũng được vì OLS rất nhẹ và nhanh khi xử lý HTTP Request.
Memory I/O Buffer
Tùy chọn nhập: Số thật
Đây là lượng bộ nhớ tối đa dùng để chứa nội dung tạm cho các truy vấn hay các nội dung động. Một khi đã sử dụng hết lượng bộ nhớ này, OLS sẽ bắt đầu sử dụng “Swapping Directory” – Chậm hơn, IOP thấp hơn > giảm hiệu năng
Use Client IP in header
Tùy chọn nhập: Chọn 1 trong các mục
Nếu đang sử dụng các loại proxy bất kì như Varnish Cache, Haproxy hay ngay cả Cloudflare hoặc các proxy Anti-DDOS thì bạn sẽ cần kích hoạt tùy chọn này để có thể lấy được IP thật của người dùng, tránh trường hợp tự block chính mình hay dải IP của Cloudflare bị block khiến mọi người không truy cập được.
Index files
Tùy chọn tên file và thứ tự của Index, như Index.html, index.php, defaults.html….
Smart Keep-Alive
Nếu Max Keep-Alive Requests có giá trị lớn hơn 1 (bật Keep-Alive) thì Smart Keep-Alive có thể kích hoạt, Giúp giữ kết nối (keep-alive) với các kết nối đến file CSS, JS, Ảnh, Video…. còn tắt keep-alive đổi với các kết nối đến trang html. Vì sẽ tốt hơn nếu giữ 1 kết nối keep-alive cho những file tĩnh (khá nhiều) và một kết nối không bật keep-alive cho các dữ liệu văn bản,html (chỉ có 1 file) – Tránh trường hợp để kết nối chờ cho đến khi hết Keep-Alive Timeout.
I/O Event Dispatcher
Tùy hệ thống mà chọn thôi, Nếu dùng kernel trên 2.6 (dùng uname -r để biết) thì có thể chọn epoll.
Max Cached Small File Size và Total Small File Cache Size
Những file tĩnh có dung lượng nhro hơn Max Cached Small File Size sẽ được lưu trữ ở memory buffer cache. Và tổng dung lượng sẽ không vược quá Total Small File Cache Size.
Còn file lớn sẽ chứa ở NMAP.
Extarnel APP
External APP > lsphp71 > Max Idle Time
Giữ giá trị ở -1 hoặc để trống nếu sử dụng Opcache. Server có thể lấy lại lượng tài nguyên nếu cần thiết nên không phải quá quan tâm về việc nó sống lâu quá.
External APP > lsphp71 > Memory Soft & Hard Limit
Opcache sẽ sử dụng lượng bộ nhớ được cấp tối đa cho PHP để chứa dữ liệu. Nhưng nếu PHP cần lượng bộ nhớ + bộ nhớ cho Opache lớn hơn giới hạn, thì nó sẽ gây lỗi 503/out of memory.
Nhớ chỉnh thêm ở memory_limit trong file php.ini cho phù hợp nữa
External APP > lsphp71 > Process Soft & Hard Limit
Giới hạn tổng số tiến trình có thể được tạo ra khi hoạt động.
Một số giá trị tinh chỉnh mẫu
Mình đưa ra một số giá trị mẫu để tham khảo. Ở phần Worker Process, sử dụng công thức [tổng số core]/2 để tính toán sử dụng.
General
Number of Workers: 2
Memory I/O Buffer : 120M
Index Files: index.html index.php
Tuning
I/O Event Dispatcher: epoll (Linux kẻnel 2.6+)
Default SHM Directory: /dev/shm
Smart Keep-Alive: Yes
Send Buffer Size (bytes): 65535
Receive Buffer Size (bytes): 65535
Max Cached Small File Size (bytes): 16384
Total Small File Cache Size (bytes): 40M
Max MMAP File Size (bytes): 512K
Total MMAP Cache Size (bytes): 80M
External App
Max Connections: 50
Environment :
PHP_LSAPI_MAX_REQUESTS=5000 PHP_LSAPI_CHILDREN=50
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1000
Process Hard Limit: 1500









