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

“Cô bé robot” Hiền Thu và sự nhầm lẫn tai hại!

Đây là bài viết đầu tiên trên Noisy Stream mà mình không đi sâu về công nghệ…

Gần đây trên sóng của Đài Truyền hình Việt Nam có một chương trình mới tên là Mặt Trời Bé Con, là phiên bản Việt của chương trình Little Big Shots do Warner Bros sản xuất. Bản thân mình khá thích chương trình này, vì một lần nữa mình được thấy tài năng của các bạn nhỏ, lần này là trong một môi trường hoàn toàn mở.

Tuy nhiên số 14 (lên sóng vào ngày 9/12/2017) làm mình buồn cười một cách đầy thất vọng. Đã từ rất lâu rồi, một công nghệ của Nhật Bản tên là Vocaloid mới được giới thiệu lại trên một kênh tin tức chính thống, nhưng tiếc là cô bé Hiền Thu (11 tuổi) trong số này đã chưa đủ hiểu biết về nó, lại còn biểu hiện điều đó ra…

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

Cách mở và đóng cổng (port) trên Amazon EC2

Nếu đợi mãi mà không kết nối được đến máy ảo EC2 (Elastic Computing Cloud), trước hết hãy kiểm tra cổng (port) và mở cổng! Sở dĩ vậy là vì…

Ngay từ khi tạo máy ảo (instance) EC2 mới, Amazon Web Services (AWS) đã áp dụng một thứ gọi là security group (“nhóm an ninh”) lên máy ảo này. Ban đầu, máy ảo EC2 hoàn toàn không được mở cổng kết nối nào với môi trường Internet bên ngoài. Security group được áp dụng lên nó chứa các luật mở cổng. Trong quá trình tạo máy ảo, AWS cho phép bạn xem và thực hiện các thay đổi cần thiết cho security group, nhưng có vẻ bạn đã bỏ qua việc đó mất rồi!

Đừng lo, bạn có thể thay đổi lại security group tương ứng với instance bạn đã tạo, để mở cổng trên máy ảo, cho phép bạn kết nối đến máy ảo đó, qua cổng bạn cần. Nếu ban đầu bạn không có thay đổi gì, thì security group được áp dụng cho instance EC2 bạn cần kết nối đã chứa sẵn luật mở cổng SSH (22) cho bất cứ địa chỉ IPv4 nào kết nối đến. Ví dụ, bây giờ bạn mới cài xong một phần mềm server, nó có trang quản trị riêng truy cập được bằng trình duyệt web qua cổng 8080, và bạn loay hoay không tìm được cách vào, trong khi phần mềm tường lửa thì bạn đã cài đâu…

Tiếp tục đọc

Dịch vụ hosting miễn phí, và trải nghiệm mới với server riêng!

Thời gian qua, không lâu sau khi bài viết đầu tiên trên blog này xuất hiện và được chia sẻ ở khắp nơi, phía hosting nơi mình đặt blog này (cùng với website cho hai dự án riêng) đã gặp sự cố lớn liên quan đến phần mềm điều hành (cPanel và WHM). Họ đã mất nhiều thời gian để khắc phục lỗi này, kết cục là họ đã chọn cài mới cả hai, tạo lại các tài khoản và di chuyển dữ liệu cũ sang. Rất may mắn là trong hoàn cảnh mình chưa kịp tạo bản sao lưu mới cho toàn bộ các trang web của mình, thì dữ liệu hiện có không bị tổn hại gì.

Ngày 24 tháng 10, mình nhận được dữ liệu cũ. Năm tới mình sẽ ra trường và kiếm việc làm lâu dài, nên lần này mình đi đến quyết định sẽ sử dụng server (máy chủ) riêng, không còn chung chạ với bất cứ ai hết. VPS (server ảo riêng) là bước tiếp cận đầu tiên của mình, và mình chọn tạo và chạy một cái ở một nơi mình khá quen thuộc: Amazon Web Services (AWS).

Trước khi nhắc đến trải nghiệm từng có với AWS, mình sẽ kể vắn tắt về quãng thời gian rất dài mình di chuyển qua lại giữa các dịch vụ hosting miễn phí.

Tiếp tục đọc

Điểm khởi đầu

Khởi đầu của một blog nhảm và thật sự ồn ào.

Xin chào tất cả các bạn. Mình là chủ blog này, tên là LQ2′.

Blog Noisy Stream này được lập ra để xàm, để mình viết về mọi thứ mình biết và hiểu được. Mình có một số dự án riêng và mọi tin tức về chúng cũng sẽ được dẫn lại vào blog này. Mình có viết một bài giới thiệu khá dài tại đây, mọi người hãy đọc nhé.

Bài viết này đánh dấu một bước khởi đầu mới, là ngày đầu tiên mình thật sự viết blog lảm nhảm. Mình đã tính đến chuyện lập cái blog này, đơn giản là vì mình không muốn lúc nào cũng gò bó với mục Notes (Ghi chú) eo hẹp và ít được trọng dụng trên Facebook. Mình cũng đã bắt đầu giao lưu và chia sẻ nhiều hơn với mọi người nữa, nhất là về các vấn đề liên quan đến máy tính và công nghệ thông tin nói chung. Mình muốn quy tụ hết những gì mình đã từng chia sẻ và muốn được chia sẻ tại đây.

Tiếp tục đọc
  • 1
  • 2