Các bài viết về trải nghiệm sử dụng và cài đặt tối ưu phần mềm server mã nguồn mở OpenLiteSpeed. Phần mềm này rất mạnh, nhanh và có nhiều tính năng.

Cài đặt và kết nối Redis với LiteSpeed PHP

Vậy là chúng ta đang trong tuần làm việc đầu tiên sau Tết rồi. Mấy ngày nghỉ Tết vừa qua mình đã tranh thủ làm một bài chúc mừng năm mới ngắn ngắn, mong cho việc sáng tác trở thành niềm đam mê, có nhiều thuận lợi và gặt hái được nhiều hơn trong năm mới Mậu Tuất. Mình không có dự định làm video cho nó, tuy nhiên có thể sau này các mẩu đoạn nhạc trong đấy sẽ được sử dụng trong các sáng tác tiếp theo của mình.

Như mình đã từng viết ở đầu bài viết “Cài đặt một web server tối ưu về tốc độ”, mình đã cho các bạn biết rằng mình đã cài đặt Redis để ghi đệm cho cơ sở dữ liệu mà các trang web của mình đang sử dụng.

Trong bài viết đầu tiên năm Mậu Tuất trên Noisy Stream, mình sẽ giới thiệu và hướng dẫn cách cài đặt Redis và extension (phần mở rộng) kết nối Redis cho LiteSpeed PHP (gọi tắt là LSPHP, tức là bộ dịch PHP được chạy bởi LiteSpeed và OpenLiteSpeed) mà không để lại chút rác rưởi nào.

Tiếp tục đọc

SSL và bảo vệ thư mục trong OpenLiteSpeed

Sắp cuối năm rồi, mình sẽ cố gắng hoàn thành nốt hành trình khám phá của mình về OpenLiteSpeed. Bài này sẽ hướng dẫn cách cài đặt SSL trên OpenLiteSpeed một cách thật chi tiết, đi kèm với một số khuyến nghị để nâng cao chất lượng của kết nối SSL giữa máy của người truy cập và website.

Ngoài ra, bài viết này cũng chỉ cho các bạn cách bảo vệ một thư mục hoặc file bất kỳ qua việc sử dụng realm trong OpenLiteSpeed và áp dụng nó vào trong một context (phạm vi) nhất định. Việc bảo vệ này sẽ có ích lớn hơn nếu người dùng thực hiện kết nối SSL đến server, nên mình viết chung về SSL và realm vào chung một bài lớn.

Tiếp tục đọc

Rewrite trong OpenLiteSpeed và chuyển đổi từ .htaccess

Thời gian qua mình đã thực hiện một số cập nhật về hiệu năng cho server và bắt đầu sử dụng CDN để đối phó với hiện tượng đứt của các tuyến cáp quốc tế AAG và SMW-3. Đến thời điểm này, trang web đã phục vụ nội dung được nhanh chóng hơn do tất cả hình ảnh đều được phục vụ bởi CDN. Mình sẽ có các bài trải nghiệm chi tiết sau. Còn bây giờ, mình sẽ tiếp nối series về OpenLiteSpeed, với vấn đề thay đổi thói quen sử dụng file .htaccess (một file thiết lập rất quen thuộc của Apache), sang việc điều chỉnh một cách trực tiếp các thiết lập trong virtual host, điển hình là các lệnh rewrite và một số thiết lập hay dùng khác.

Tiếp tục đọc

Giải quyết vấn đề FTP sau khi cài đặt OpenLiteSpeed

Đây là bài thứ ba mình viết về phần mềm này. Hai bài trước đó mình đã chỉ cách cài đặt OpenLiteSpeed cùng với phiên bản PHP riêng, rồi sau đó là cài đặt virtual host và listener.

Sau khi thực hiện theo hai bài hướng dẫn đó, mọi người đã có thể đăng mã nguồn lên và chạy được rồi. Nhưng đối với một số mã nguồn phức tạp như WordPress chẳng hạn (có giao diện upload file hay giao diện cài đặt bổ sung từ bên ngoài), thì có một số lỗi liên quan đến phân quyền có thể phát sinh, khiến quá trình upload, cài đặt, cập nhật, v.v… qua giao diện của mã nguồn đó bị dừng lại. Ngoài ra, việc điều chỉnh lại user và group cho thư mục document root là nobodynogroup sẽ khiến cho việc upload file qua giao thức FTP trở nên khó khăn nếu không sử dụng quyền của user root (hay chạy lệnh kèm sudo).

Vì thế mình viết bài này để giúp các bạn giải quyết toàn bộ các vấn đề đó mà không cần phải cài đặt thêm File Manager chạy trên nền web.

Tiếp tục đọc

Listener và virtual host trong OpenLiteSpeed

Thời gian qua, mình đã dành nhiều thời gian thử nghiệm phần mềm OpenLiteSpeed trên server. Có một số thiết lập dễ dàng ăn ngay, cũng có một số thiết lập cần thêm các bước cài đặt bổ sung từ giao diện dòng lệnh. Mình cũng đã thông báo một vài lỗi cho LiteSpeed Technologies (công ty đứng đằng sau OpenLiteSpeed) thông qua trang GitHub họ tạo ra cho OpenLiteSpeed. Đến hôm nay, khi có một lỗi liên quan đến cache được họ xác nhận và sửa chữa thì mình quyết định dừng thử nghiệm, và quay lại tiếp tục viết hướng dẫn cài đặt và thiết lập OpenLiteSpeed.

Bài này giả sử rằng các bạn đã thực hiện cài đặt OpenLiteSpeed bản mới nhất trên máy ảo chạy hệ điều hành Ubuntu như mình đã viết ở bài trước. Nếu các bạn đã thực hiện cài đặt theo bài đó thì các bạn sẽ thực hiện thiết lập theo bài này thuận lợi hơn nhiều. Nếu không thì các bạn hãy tự điều chỉnh một cách tương ứng với môi trường máy ảo mà các bạn đang sử dụng.

Bài này hướng dẫn tạo và thiết lập virtual host trên OpenLiteSpeed. Có điều, tại sao tiêu đề bài viết này lại có cả listener (cổng nghe)? Lí do là…

Thiết lập virtual host trên Apache và NGINX có kèm theo việc chỉ định luôn cổng cho virtual host để nghe từ bên ngoài, còn OpenLiteSpeed thì tách riêng thiết lập cổng. Việc này tiện cho việc sử dụng một cổng cho nhiều virtual host và ngược lại. Thiết lập cổng nghe (listener) trên OpenLiteSpeed còn có tuỳ chọn riêng hạn chế truy cập. Hãy ấn nút đọc tiếp bài này để hiểu kĩ hơn nhé.

Tiếp tục đọc

Cài đặt OpenLiteSpeed tại Amazon EC2

Xin chào! Hôm nay mình sẽ bắt đầu kể về quá trình di dời trang web của mình sang dịch vụ Elastic Computing Cloud (EC2) thuộc Amazon Web Services.

Mình xác định sẽ sử dụng một phần mềm server nhẹ và nhanh nhất có thể tại đó. Trước đây mình từng cài đặt Apache và NGINX, mình thấy được một số ưu điểm và nhược điểm của chúng:

  • Apache: Rất linh hoạt trong việc sử dụng module, thiết lập quyền truy cập và viết lại (rewrite) đường dẫn theo từng cấp thư mục. Đối với những người đã quen với hosting chia sẻ (shared hosting), file .htaccess là một thứ vô cùng quen thuộc và đó là một file thiết lập của Apache áp dụng ở thư mục trong website. Tuy nhiên, Apache phục vụ nội dung tĩnh chậm. Có thể giải quyết nhược điểm này bằng cách tắt (ngừng kích hoạt) bớt module không sử dụng đến, nhưng cách đó không triệt để.
  • NGINX: Chỉ ở các bản mới đây (từ 1.9.11 trở đi), NGINX mới có thể kích hoạt module một cách linh hoạt giống Apache. Nó tỏ ra kém linh hoạt hơn Apache trong việc thiết lập quyền truy cập và viết lại đường dẫn, tất cả thiết lập đó đều phải được liên kết với file nginx.conf (cụ thể là liên kết qua dòng include), và chỉ được áp dụng sau khi khởi động lại NGINX. Bù lại, NGINX phục vụ nội dung tĩnh cực kì nhanh.
  • Cả hai đều có module đệm (cache) riêng, nhưng chưa có ai sử dụng các module đó cho việc lưu trữ tạm thời các kết quả xử lí của PHP hay các ngôn ngữ khác sử dụng trình thông dịch (Python, Ruby, JavaScript,…). May mắn là đối với PHP, người ta đã cung cấp một số gói mở rộng (extension) để ghi đệm các kết quả của nó như APC, OPcache, Memcached,… Hoặc, có một phần mềm cache độc lập tên là Varnish, cực kì tốt cho các server phục vụ nhiều nội dung thay đổi thường xuyên.

Nhưng trước mắt, mình mong muốn tìm được một phần mềm server chứa sẵn tất cả những ưu điểm của cả Apache và NGINX, hơn nữa lại có module cache hoạt động nhanh và linh hoạt như Varnish. Có một phần mềm server thực hiện được, đó là LiteSpeed. Nó được sử dụng ở một số dịch vụ hosting thay cho Apache. Nó có một phiên bản mã nguồn mở tên là OpenLiteSpeed, và mình mong đợi rất nhiều vào nó với khả năng mở rộng rất linh hoạt.

Tiếp tục đọc