Hướng dẫn nginx php-fpm

Lời mở đầu

Xin chào anh em hôm nay mình sẽ giới thiệu anh em cách cài đặt Nginx với PHP 7, PHP-FPM và MySQL trên hệ điều hành Centos. Trước hết giới thiệu qua với anh em:

Nginx đây là 1 hệ thống server HTTP mã nguồn mở đang được rất nhiều người sử dụng nó hoàn toàn miễn phí, hiệu suất hoạt động cao, ổn định, tổ hợp chức năng đa dạng, dễ dàng cấu hình, thiết lập và sử dụng ít tài nguyên hệ thống. Tìm hiểu thêm Nginx là gì ?

PHP7 là một phiên bản của ngôn ngữ PHP được giới thiệu vào ngày 3 tháng 9 năm 2015, đây là phiên bản mới nhất và được trông đợi nhất bởi có nhiều sự thay đổi về cú pháp, bổ sung các thư viện hiện đại giúp ngôn ngữ PHP trở nên đa dạng hơn và hơn hết nó mang lại hiệu xuất nhanh hơn theo như công bố là gấp hai lần so với phiên bản trước đó.

PHP-FPM [FastCGI Process Manager] kết hợp với Nginx nó đang là mô hình webserver rất phổ biến hiện nay và dần thay thế cho Apache, tốc độ xử lý PHP script của Nginx + PHP-FPM nhanh hơn Apache + Fcgi gấp nhiều lần.

MySQl là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

Tiến hành cài đặt

Giới thiệu thế đủ rồi giờ bắt đầu thôi , mình sẽ hướng dẫn anh em cài lần lượt các phần mềm theo thứ tự như trên mục mở đầu nhé!

Phần 1: Cài đặt NGINX

Để cài đặt được trước hết anh em cần cài kho thư viện phần mềm cho hệ điều hành Centos

EPEL Repository

# Dành cho Hệ điều hành CentOS 7 64 Bit
wget //dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
rpm -ivh epel-release-7-10.noarch.rpm

# Dành cho Hệ điều hành CentOS 6 64 Bit
wget //download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

Hoặc anh em có thể chạy lệnh này

yum install epel-release

Tiến hành cài đặt NGINX anh em chạy lệnh

sudo yum install nginx

Centos sẽ tiến hành cài đặt Nginx mất chừng khoảng vài chục giây, nếu có bước hỏi anh em cứ gõ Y và ấn Enter để nó chạy tiếp. Sau khi chạy xong chúng ta tiến hành khởi động NGINX lên để xem nó đã được cài đặt thành công hay chưa:

# Dành cho Hệ điều hành CentOS 7 64 Bit
sudo systemctl start nginx

# Dành cho Hệ điều hành CentOS 6 64 Bit
sudo /etc/init.d/nginx start
hoặc
service nginx start

Kiểm tra anh em ra trình duyệt gõ thẳng ip vps hoặc server của anh em nếu ra như này có nghĩa là anh em đã thành công:

Phần 2: Cài đặt PHP7

Anh em tiến hành chạy lệnh

sudo yum install php70w 

Hệ điều hành Centos sẽ tiến hành cài đặt PHP7 và cũng như cài đặt NGINX nếu có bước hỏi anh em cứ gõ Y và ấn Enter để nó chạy tiếp.

Kiểm tra phiên bản của PHP

Anh em gõ lệnh sau

php-v
PHP 7.0.0 [cli] [built: Dec  2 2015 20:42:32] [ NTS ]
Copyright [c] 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright [c] 1998-2015 Zend Technologies

Nếu màn hình hiện ra như trên có nghĩa là bạn đã cài đặt thành công PHP7, giờ chúng ta sẽ tìm các modules

sudo yum search php70w

Màn hình sẽ hiện lên các modules anh em có thể cài đặt vào PHP7

php70w.x86_64 : PHP scripting language for creating dynamic web sites
php70w-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php70w-cli.x86_64 : Command-line interface for PHP
php70w-common.x86_64 : Common files for PHP
php70w-dba.x86_64 : A database abstraction layer module for PHP applications
php70w-devel.x86_64 : Files needed for building PHP extensions
php70w-embedded.x86_64 : PHP library for embedding in applications
php70w-enchant.x86_64 : Enchant spelling extension for PHP applications
php70w-fpm.x86_64 : PHP FastCGI Process Manager
php70w-gd.x86_64 : A module for PHP applications for using the gd graphics library
php70w-imap.x86_64 : A module for PHP applications that use IMAP
php70w-interbase.x86_64 : A module for PHP applications that use Interbase/Firebird databases
php70w-intl.x86_64 : Internationalization extension for PHP applications
php70w-ldap.x86_64 : A module for PHP applications that use LDAP
php70w-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
php70w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
php70w-mysql.x86_64 : A module for PHP applications that use MySQL databases
php70w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php70w-odbc.x86_64 : A module for PHP applications that use ODBC databases
php70w-opcache.x86_64 : An opcode cache Zend extension
php70w-pdo.x86_64 : A database access abstraction module for PHP applications
php70w-pdo_dblib.x86_64 : MSSQL database module for PHP
php70w-pear.noarch : PHP Extension and Application Repository framework
php70w-pgsql.x86_64 : A PostgreSQL database module for PHP
php70w-phpdbg.x86_64 : Interactive PHP debugger
php70w-process.x86_64 : Modules for PHP script using system process interfaces
php70w-pspell.x86_64 : A module for PHP applications for using pspell interfaces
php70w-recode.x86_64 : A module for PHP applications for using the recode library
php70w-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
php70w-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php70w-tidy.x86_64 : Standard PHP module provides tidy library support
php70w-xml.x86_64 : A module for PHP applications which use XML
php70w-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC

Cài Đặt Modules anh em muốn cài đặt modules nào chỉ cần gõ sudo yum install tên_modules là dc.

Sau đâu mình sẽ viết sẵn một số modules cần thiết để chạy hầu hết các Framework PHP lớn hiện nay như Laravel Framework

sudo yum install php70w-common php70w-xml php70w-soap php70w-xmlrpc php70w-mysql
sudo yum install php70w-mbstring php70w-gd php70w-mcrypt

Ngoài ra với các site có lượng traffic lớn anh em nên cài thêm Modules Opcache để tăng hiệu suất của PHP7

sudo yum install php70w-opcache

Phần 3: Cài đặt PHP-FPM

PHP-FPM là một Modules của PHP nên để cài đặt đơn giản chúng ta chỉ cần gõ lệnh

sudo yum install php70w-fpm

Để khởi động PHP-FPM chúng ta gõ lệnh

# Dành cho Hệ điều hành CentOS 7 64 Bit
sudo systemctl start php-fpm

# Dành cho Hệ điều hành CentOS 6 64 Bit
service php-fpm start

Phần 4: Cài đặt MySQL

rpm -Uvh //repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 
sudo yum -y install mysql-server

Hệ điều hành Centos sẽ tiến hành cài đặt MySQL và cũng như cài đặt NGINX nếu có bước hỏi anh em cứ gõ Y và ấn Enter để nó chạy tiếp. Để khởi động MySQL chúng ta gõ lệnh

# Dành cho Hệ điều hành CentOS 7 64 Bit
sudo systemctl start mysqld

# Dành cho Hệ điều hành CentOS 6 64 Bit
service mysqld start

Để đảm bảo an toàn cho MySQL chúng ta cần tiến hành một số thiết lập ban đầu như đặt pass root, chúng ta gõ lệnh:

mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current password for the root user. If you’ve just installed MySQL, and you haven’t set the root password yet, the password will be blank, so you should just press enter here.

Enter current password for root [enter for none]:

Chủ Đề