Cài đặt NGINX và PHP-FPM

0
96

Với sự bùng nổ và số lượng người dùng NGINX không ngừng tăng, thì hiện nay NGINX, ngày càng trở nên phổ biến rộng rãi không kém phần Apache, do đó nếu bây giờ bạn sử dụng NGINX thì cũng không khó để tìm các bài hướng dẫn cấu hình chi tiết.

Ở bài này, mình sẽ hướng dẫn qua cho bạn cách cài đặt NGINX để làm Webserver và các cấu hình cần thiết. Hãy nên nhớ, serie này mình sẽ hướng dẫn sử dụng NGINX làm Webserver chứ không phải Proxy Server để kết hợp với Apache nên mong bạn đừng lẫn lộn.

Tại sao NGINX lại nhanh hơn Apache?

Hầu hết các Webserver hiện nay đều xử lý các truy vấn từ máy khách đến máy chủ bằng các thread (bạn cứ hiểu thread là một cỗ máy giúp nó xử lý truy vấn), và mỗi truy vấn khách sẽ được server xử lý bằng một thread riêng biệt cho đến khi nó hoàn thành nhiệm vụ. Do đó, ổ cứng trên server sẽ mất nhiều thời gian hơn để giải phóng các thread đã hoàn thành nhiệm vụ, và việc tạo ra nhiều thread cũng sẽ làm server tiêu hao rất nhiều tài nguyên (CPU, RAM).

NGINX sinh ra là để khắc phục nhược điểm đó, nó không phụ thuộc vào số lượng thread trên server mà bạn sẽ có quyền phân chia tổng số thread trên server ra số lượng worker processes tùy thích và các worker processes này sẽ lặp lại quá trình trong mỗi truy vấn gửi tới server mà không cần máy chủ tạo ra thread riêng.

cai-dat-lemp-nginx-worker-process

Các worker cũng không thể tốn nhiều tài nguyên để xử lý và nó cũng không tự chặn lẫn nhau như Apache để giải phóng bộ nhớ vì nó sử dụng kỹ thuật Tải không đồng bộ (Asynchronous). Nghĩa là nó sẽ được xử lý luân phiên nhau theo một chu kỳ.

Còn rất nhiều nữa nhưng có thể trong bài này mình không thể nhắc qua hết mà mình chỉ cần bạn biết tại sao NGINX lại mạnh hơn Apache mà thôi.

Nạp package

Đầu tiên bạn hãy nhớ rằng, serie này mình viết dành cho hệ điều hành CentOS 7 nên bạn cần có một VPS sử dụng CentOS 7 và chưa cài bất cứ cái gì vào.

Do cả NGINX và PHP-FPM đều không có sẵn trong gói Yum mặc định của CentOS nên chúng ta phải nạp một package từ bên ngoài vào. Bạn chạy lần lượt 3 lệnh sau:

Sau đó tạo 1 file tên là nginx.repo trong thư mục /etc/yum.repos.d/ :

rồi copy 1 trong 2 đoạn dưới đây vào:

Nếu bạn muốn dùng NGINX bản mới nhất thì dùng đoạn dưới:

Sau đó nhấn Ctr+O để lưu và Ctrl+X để thoát.

Cài đặt NGINX và PHP-FPM

Trước khi cài đặt, hãy tiến hành tắt SELinux đi bằng cách mở file /etc/sysconfig/selinux và tìm SELINUX=rồi sửa thành như dưới đây:

Sửa xong, hãy gõ lệnh reboot để khởi động lại máy chủ và đăng nhập vào lại SSH.

Sau đó là cài NGINX và PHP cùng các module cần thiết. Một số module PHP thông dụng:

  • OPcache (php-opcache) – The Zend OPcache provides faster PHP execution through opcode caching and optimization.
  • APCu (php-pecl-apc) – APCu userland caching
  • CLI (php-cli) – Command-line interface for PHP
  • PEAR (php-pear) – PHP Extension and Application Repository framework
  • PDO (php-pdo) – A database access abstraction module for PHP applications
  • MySQL (php-mysqlnd) – A module for PHP applications that use MySQL databases
  • PostgreSQL (php-pgsql) – A PostgreSQL database module for PHP
  • MongoDB (php-pecl-mongo) – PHP MongoDB database driver
  • SQLite (php-pecl-sqlite) – Extension for the SQLite Embeddable SQL Database Engine
  • Memcache (php-pecl-memcache) – Extension to work with the Memcached caching daemon
  • Memcached (php-pecl-memcached) – Extension to work with the Memcached caching daemon
  • GD (php-gd) – A module for PHP applications for using the gd graphics library
  • XML (php-xml) – A module for PHP applications which use XML
  • MBString (php-mbstring) – A module for PHP applications which need multi-byte string handling
  • MCrypt (php-mcrypt) – Standard PHP module provides mcrypt library support

Sau này, để cài đặt thêm các module khác thì bạn hãy sử dụng lệnh yum --enablerepo=remi,remi-php56 install ten_module. Ví dụ:

Sau khi cài đặt xong. Bạn cần kích hoạt NGINX, PHP và thêm 2 ứng dụng này vào danh sách ứng dụng tự khởi động nếu reboot server và đồng thời gỡ bỏ tự động chạy của httpd (gõ lần lượt các lệnh):

Kiểm tra phiên bản NGINX và PHP-FPM:

Kết quả trả về:

Bây giờ bạn hãy truy cập vào địa chỉ là http://ip-của-vps rồi xem nó đã hiện trang Welcome của NGINX chưa nhé. Nếu hiện như ở dưới thì thành công:

lemp-nginx-welcome

Thiết lập lại user và group chạy PHP

Mặc định PHP-FPM sẽ chỉ định user tên là apache và group tên apache để chạy nó, nhưng ở đây chúng ta không sử dụng Apache mà là NGINX nên bạn cần mở file /etc/php-fpm.d/www.conf lên:

tìm dòng :

thay thế thành :

Nhấn Ctrl+O để lưu và Ctrl+X để thoát. Sau đó khỏi động lại PHP-FPM:

Phân tiếp theo chúng ta sẽ đi vào bước tạo Virtual Host – hay còn gọi là thêm domain vào VPS đó. Phần này quan trong lắm nhé.

Cài đặt NGINX và PHP-FPM
Đánh giá bài viết !

Nếu yêu thích LocDang.Com thì hãy đăng ký theo dõi để nhận tin tức mới nhất và đừng quên Like và Follow mình trên Facebook Twitter nhé.
Để lại ý kiến nhận xét tại đây !!

Chưa có bình luận nào cho bài viết này. Bạn hay là người đầu tiên nhé.

    • Xin chào, khách