LEMP cho VPS [Phần 1] – Cài đặt NGINX và PHP-FPM

Bài này thuộc phần 1 của 9 phần trong serie LEMP cho VPS

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.

I. 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.

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.

Xem thêm: How is NGINX different from Apache.

II. Nạp package cần thiết

Đầ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 6.5 trở lên nên bạn cần có một VPS sử dụng CentOS 6.5 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.
Với package này bạn sẽ cài được NGINX 1.6.2 và PHP/PHP-FPM mới nhất.

Bạn chạy lần lượt 2 lệnh sau:

 # CentOS 32-Bit rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm  # CentOS 64-Bit rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Sau đó tạo 1 file tên là nginx.repo trong thư mục /etc/yum.repos.d/ rồi copy đoạn dưới đây vào:

[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1

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

 [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=0 enabled=1

III. 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:

SELINUX=disabled

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:

yum --enablerepo=remi,remi-php56 install nginx php-fpm php-mysql php-common php-mbstring php-mcrypt php-gd

Lưu ý thêm là nếu sau này bạn cần cài thêm công cụ gì thì tốt nhất nên chạy lệnh yum là yum --enablerepo=remi,remi-php56 để được cài nhiều chức năng hơn, phiên bản mới hơn và tương thích với PHP 5.6

Một số tên ứng dụng có thể bạn muốn cài đặt

  • php-pecl-memcached – Memcached Server
  • php-pecl-memcache – extension chạy Memcached dành cho PHP
  • php-opcache – Zend Opcache
  • apcu – APC Opcode Cache

Output trả về:

Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile epel/metalink

| 16 kB
00:00 * base: centos.mirror.iweb.ca * epel: epel.mirrors.ovh.net * extras: centos.mirror.iweb.ca * remi: rpms.famillecollet.com * remi-php56: rpms.famillecollet.com * updates: centos.mirror.iweb.ca base

| 3.7 kB
00:00 epel

| 4.4 kB
00:00 epel/primary_db

| 5.3 MB
00:01 extras

| 3.3 kB
00:00 extras/primary_db

| 28 kB
00:00 nginx

| 2.9 kB
00:00 nginx/primary_db

| 35 kB
00:00 remi

| 2.9 kB
00:00 remi/primary_db

| 743 kB
00:00 remi-php56

| 2.9 kB
00:00 remi-php56/primary_db

| 168 kB
00:00 updates

| 3.4 kB
00:00 updates/primary_db

| 149 kB
00:00 Package php-mysql is obsoleted by php-mysqlnd, trying to install php-mysqlnd-5.6

.2-1.el6.remi.i686 instead Resolving Dependencies –> Running transaction check —> Package nginx.i386 0:1.6.2-1.el6.ngx will be installed —> Package php-common.i686 0:5.6.2-1.el6.remi will be installed –> Processing Dependency: php-pecl-zip(x86-32) for package: php-common-5.6.2-1.

el6.remi.i686 –> Processing Dependency: php-pecl-jsonc(x86-32) for package: php-common-5.6.2-

1.el6.remi.i686 —> Package php-fpm.i686 0:5.6.2-1.el6.remi will be installed —> Package php-gd.i686 0:5.6.2-1.el6.remi will be installed –> Processing Dependency: gd-last(x86-32) >= 2.1.0-3 for package: php-gd-5.6.2-

1.el6.remi.i686 –> Processing Dependency: libvpx.so.1 for package: php-gd-5.6.2-1.el6.remi.i686 –> Processing Dependency: libt1.so.5 for package: php-gd-5.6.2-1.el6.remi.i686 –> Processing Dependency: libpng12.so.0 for package: php-gd-5.6.2-1.el6.remi.i6

86 –> Processing Dependency: libjpeg.so.62 for package: php-gd-5.6.2-1.el6.remi.i6

86 –> Processing Dependency: libgd.so.3 for package: php-gd-5.6.2-1.el6.remi.i686 –> Processing Dependency: libfreetype.so.6 for package: php-gd-5.6.2-1.el6.remi

.i686 –> Processing Dependency: libXpm.so.4 for package: php-gd-5.6.2-1.el6.remi.i686 –> Processing Dependency: libX11.so.6 for package: php-gd-5.6.2-1.el6.remi.i686 —> Package php-mbstring.i686 0:5.6.2-1.el6.remi will be installed —> Package php-mcrypt.i686 0:5.6.2-1.el6.remi will be installed –> Processing Dependency: libmcrypt.so.4 for package: php-mcrypt-5.6.2-1.el6.re

mi.i686 –> Processing Dependency: libltdl.so.7 for package: php-mcrypt-5.6.2-1.el6.remi

.i686 —> Package php-mysqlnd.i686 0:5.6.2-1.el6.remi will be installed –> Processing Dependency: php-pdo(x86-32) = 5.6.2-1.el6.remi for package: php-m

ysqlnd-5.6.2-1.el6.remi.i686 –> Running transaction check —> Package freetype.i686 0:2.3.11-14.el6_3.1 will be installed —> Package gd-last.i686 0:2.1.0-3.el6.remi will be installed –> Processing Dependency: libtiff.so.3 for package: gd-last-2.1.0-3.el6.remi.i6

86 –> Processing Dependency: libfontconfig.so.1 for package: gd-last-2.1.0-3.el6.r

emi.i686 —> Package libX11.i686 0:1.6.0-2.2.el6 will be installed –> Processing Dependency: libX11-common = 1.6.0-2.2.el6 for package: libX11-1.6

.0-2.2.el6.i686 –> Processing Dependency: libxcb.so.1 for package: libX11-1.6.0-2.2.el6.i686 —> Package libXpm.i686 0:3.5.10-2.el6 will be installed —> Package libjpeg-turbo.i686 0:1.2.1-3.el6_5 will be installed —> Package libmcrypt.i686 0:2.5.8-9.el6 will be installed —> Package libpng.i686 2:1.2.49-1.el6_2 will be installed —> Package libtool-ltdl.i686 0:2.2.6-15.5.el6 will be installed —> Package libvpx.i686 0:1.3.0-5.el6_5 will be installed —> Package php-pdo.i686 0:5.6.2-1.el6.remi will be installed —> Package php-pecl-jsonc.i686 0:1.3.6-1.el6.remi.5.6.1 will be installed –> Processing Dependency: /usr/bin/pecl for package: php-pecl-jsonc-1.3.6-1.el6

.remi.5.6.1.i686 –> Processing Dependency: /usr/bin/pecl for package: php-pecl-jsonc-1.3.6-1.el6

.remi.5.6.1.i686 —> Package php-pecl-zip.i686 0:1.12.4-2.el6.remi.5.6 will be installed —> Package t1lib.i686 0:5.1.2-6.el6_2.1 will be installed –> Running transaction check —> Package fontconfig.i686 0:2.8.0-5.el6 will be installed —> Package libX11-common.noarch 0:1.6.0-2.2.el6 will be installed —> Package libtiff.i686 0:3.9.4-10.el6_5 will be installed —> Package libxcb.i686 0:1.9.1-2.el6 will be installed –> Processing Dependency: libXau.so.6 for package: libxcb-1.9.1-2.el6.i686 —> Package php-pear.noarch 1:1.9.5-3.el6.remi will be installed –> Processing Dependency: php-xml for package: 1:php-pear-1.9.5-3.el6.remi.noar

ch –> Processing Dependency: php-posix for package: 1:php-pear-1.9.5-3.el6.remi.no

arch –> Processing Dependency: php-cli for package: 1:php-pear-1.9.5-3.el6.remi.noar

ch –> Running transaction check —> Package libXau.i686 0:1.0.6-4.el6 will be installed —> Package php-cli.i686 0:5.6.2-1.el6.remi will be installed —> Package php-process.i686 0:5.6.2-1.el6.remi will be installed —> Package php-xml.i686 0:5.6.2-1.el6.remi will be installed –> Processing Dependency: libxslt.so.1(LIBXML2_1.0.24) for package: php-xml-5.6

.2-1.el6.remi.i686 –> Processing Dependency: libxslt.so.1(LIBXML2_1.0.22) for package: php-xml-5.6

.2-1.el6.remi.i686 –> Processing Dependency: libxslt.so.1(LIBXML2_1.0.18) for package: php-xml-5.6

.2-1.el6.remi.i686 –> Processing Dependency: libxslt.so.1(LIBXML2_1.0.13) for package: php-xml-5.6

.2-1.el6.remi.i686 –> Processing Dependency: libxslt.so.1(LIBXML2_1.0.11) for package: php-xml-5.6

.2-1.el6.remi.i686 –> Processing Dependency: libxslt.so.1 for package: php-xml-5.6.2-1.el6.remi.i6

86 –> Processing Dependency: libexslt.so.0 for package: php-xml-5.6.2-1.el6.remi.i

686 –> Running transaction check —> Package libxslt.i686 0:1.1.26-2.el6_3.1 will be installed –> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package

Arch

Version

Repository

Size ================================================================================ Installing: nginx

i386

1.6.2-1.el6.ngx

nginx

343 k php-common

i686

5.6.2-1.el6.remi

remi-php56
1.0 M php-fpm

i686

5.6.2-1.el6.remi

remi-php56
1.3 M php-gd

i686

5.6.2-1.el6.remi

remi-php56

69 k php-mbstring

i686

5.6.2-1.el6.remi

remi-php56
955 k php-mcrypt

i686

5.6.2-1.el6.remi

remi-php56

41 k php-mysqlnd

i686

5.6.2-1.el6.remi

remi-php56
3.7 M Installing for dependencies: fontconfig

i686

2.8.0-5.el6

base

186 k freetype

i686

2.3.11-14.el6_3.1

base

363 k gd-last

i686

2.1.0-3.el6.remi

remi

134 k libX11

i686

1.6.0-2.2.el6

base

591 k libX11-common

noarch
1.6.0-2.2.el6

base

192 k libXau

i686

1.0.6-4.el6

base

24 k libXpm

i686

3.5.10-2.el6

 

base

50 k libjpeg-turbo

i686

1.2.1-3.el6_5

base

177 k libmcrypt

i686

2.5.8-9.el6

epel

94 k libpng

i686

2:1.2.49-1.el6_2

base

184 k libtiff

i686

3.9.4-10.el6_5

base

339 k libtool-ltdl

i686

2.2.6-15.5.el6

base

45 k libvpx

i686

1.3.0-5.el6_5

base

490 k libxcb

i686

1.9.1-2.el6

base

115 k libxslt

i686

1.1.26-2.el6_3.1

base

451 k php-cli

i686

5.6.2-1.el6.remi

remi-php56
3.8 M php-pdo

i686

5.6.2-1.el6.remi

remi-php56
108 k php-pear

noarch
1:1.9.5-3.el6.remi

remi

375 k php-pecl-jsonc
i686

1.3.6-1.el6.remi.5.6.1

remi-php56

48 k php-pecl-zip

i686

1.12.4-2.el6.remi.5.6

remi-php56
273 k php-process

i686

5.6.2-1.el6.remi

remi-php56

54 k php-xml

i686

5.6.2-1.el6.remi

remi-php56
201 k t1lib

i686

5.1.2-6.el6_2.1

base

152 k Transaction Summary ================================================================================ Install

30 Package(s) Total download size: 16 M Installed size: 46 M Is this ok [y/N]: y^[[3~ Is this ok [y/N]: y Downloading Packages: (1/30): fontconfig-2.8.0-5.el6.i686.rpm

| 186 kB
00:00 (2/30): freetype-2.3.11-14.el6_3.1.i686.rpm

| 363 kB
00:00 (3/30): gd-last-2.1.0-3.el6.remi.i686.rpm

| 134 kB
00:00 (4/30): libX11-1.6.0-2.2.el6.i686.rpm

| 591 kB
00:00 (5/30): libX11-common-1.6.0-2.2.el6.noarch.rpm

| 192 kB
00:00 (6/30): libXau-1.0.6-4.el6.i686.rpm

| 24 kB
00:00 (7/30): libXpm-3.5.10-2.el6.i686.rpm

| 50 kB
00:00 (8/30): libjpeg-turbo-1.2.1-3.el6_5.i686.rpm

| 177 kB
00:00 (9/30): libmcrypt-2.5.8-9.el6.i686.rpm

| 94 kB
00:00 (10/30): libpng-1.2.49-1.el6_2.i686.rpm

| 184 kB
00:00 (11/30): libtiff-3.9.4-10.el6_5.i686.rpm

| 339 kB
00:00 (12/30): libtool-ltdl-2.2.6-15.5.el6.i686.rpm

| 45 kB
00:00 (13/30): libvpx-1.3.0-5.el6_5.i686.rpm

| 490 kB
00:00 (14/30): libxcb-1.9.1-2.el6.i686.rpm

| 115 kB
00:00 (15/30): libxslt-1.1.26-2.el6_3.1.i686.rpm

| 451 kB
00:00 (16/30): nginx-1.6.2-1.el6.ngx.i386.rpm

| 343 kB
00:00 (17/30): php-cli-5.6.2-1.el6.remi.i686.rpm

| 3.8 MB
00:01 (18/30): php-common-5.6.2-1.el6.remi.i686.rpm

| 1.0 MB
00:00 (19/30): php-fpm-5.6.2-1.el6.remi.i686.rpm

| 1.3 MB
00:00 (20/30): php-gd-5.6.2-1.el6.remi.i686.rpm

| 69 kB
00:00 (21/30): php-mbstring-5.6.2-1.el6.rem (63%) 16% [====

] 0

(21/30): php-mbstring-5.6.2-1.el6.remi.i686.rpm

| 955 kB
00:00 (22/30): php-mcrypt-5.6.2-1.el6.remi.i686.rpm

| 41 kB
00:00 (23/30): php-mysqlnd-5.6.2-1.el6.remi.i686.rpm

| 3.7 MB
00:01 (24/30): php-pdo-5.6.2-1.el6.remi.i686.rpm

| 108 kB
00:00 (25/30): php-pear-1.9.5-3.el6.remi.noarch.rpm

| 375 kB
00:00 (26/30): php-pecl-jsonc-1.3.6-1.el6.remi.5.6.1.i686.rpm | 48 kB
00:00 (27/30): php-pecl-zip-1.12.4-2.el6.remi.5.6.i686.rpm
| 273 kB
00:00 (28/30): php-process-5.6.2-1.el6.remi.i686.rpm

| 54 kB
00:00 (29/30): php-xml-5.6.2-1.el6.remi.i686.rpm

| 201 kB
00:00 (30/30): t1lib-5.1.2-6.el6_2.1.i686.rpm

| 152 kB
00:00 ——————————————————————————– Total

925 kB/s | 16 MB
00:17 warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 00f97f56: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi Importing GPG key 0x00F97F56: Userid : Remi Collet
Package: remi-release-6.5-1.el6.remi.noarch (installed) From
: /etc/pki/rpm-gpg/RPM-GPG-KEY-remi Is this ok [y/N]: y warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 Importing GPG key 0x0608B895: Userid : EPEL (6)
Package: epel-release-6-8.noarch (installed) From
: /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum.
Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [##

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [#####

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [#######

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [#########

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [#######################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [##############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686 [###############################

Installing : libjpeg-turbo-1.2.1-3.el6_5.i686

1/30
Installing : freetype-2.3.11-14.el6_3.1.i686 [

Installing : freetype-2.3.11-14.el6_3.1.i686 [####

Installing : freetype-2.3.11-14.el6_3.1.i686 [########

Installing : freetype-2.3.11-14.el6_3.1.i686 [############

< br>

Installing : freetype-2.3.11-14.el6_3.1.i686 [#################

Installing : freetype-2.3.11-14.el6_3.1.i686 [#####################

Installing : freetype-2.3.11-14.el6_3.1.i686 [#########################

Installing : freetype-2.3.11-14.el6_3.1.i686 [##############################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686 [################################

Installing : freetype-2.3.11-14.el6_3.1.i686

2/30
Installing : 2:libpng-1.2.49-1.el6_2.i686 [

Installing : 2:libpng-1.2.49-1.el6_2.i686 [#####

Installing : 2:libpng-1.2.49-1.el6_2.i686 [##########

Installing : 2:libpng-1.2.49-1.el6_2.i686 [##############

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [#########################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###########################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [#################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686 [###################################

Installing : 2:libpng-1.2.49-1.el6_2.i686

3/30
Installing : libvpx-1.3.0-5.el6_5.i686 [

Installing : libvpx-1.3.0-5.el6_5.i686 [##

Installing : libvpx-1.3.0-5.el6_5.i686 [#####

Installing : libvpx-1.3.0-5.el6_5.i686 [#######

Installing : libvpx-1.3.0-5.el6_5.i686 [##########

Installing : libvpx-1.3.0-5.el6_5.i686 [#############

Installing : libvpx-1.3.0-5.el6_5.i686 [################

Installing : libvpx-1.3.0-5.el6_5.i686 [###################

Installing : libvpx-1.3.0-5.el6_5.i686 [#####################

Installing : libvpx-1.3.0-5.el6_5.i686 [########################

Installing : libvpx-1.3.0-5.el6_5.i686 [###########################

Installing : libvpx-1.3.0-5.el6_5.i686 [##############################

Installing : libvpx-1.3.0-5.el6_5.i686 [#################################

Installing : libvpx-1.3.0-5.el6_5.i686 [###################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686 [######################################

Installing : libvpx-1.3.0-5.el6_5.i686

4/30
Installing : libX11-common-1.6.0-2.2.el6.noarch [#

Installing : libX11-common-1.6.0-2.2.el6.noarch

5/30
Installing : fontconfig-2.8.0-5.el6.i686

6/30
Installing : libtiff-3.9.4-10.el6_5.i686

7/30
Installing : libmcrypt-2.5.8-9.el6.i686

8/30
Installing : libxslt-1.1.26-2.el6_3.1.i686

9/30
Installing : php-process-5.6.2-1.el6.remi.i686

10/30
Installing : php-xml-5.6.2-1.el6.remi.i686

11/30
Installing : php-cli-5.6.2-1.el6.remi.i686

12/30
Installing : 1:php-pear-1.9.5-3.el6.remi.noarch

13/30
Installing : php-common-5.6.2-1.el6.remi.i686

14/30 WARNING : These php-* RPM are not official Fedora / Red Hat build and overrides the official ones. Don’t file bugs on F edora Project nor Red Hat. Use dedicated forums http://forums.famillecollet.com/
Installing : php-pecl-jsonc-1.3.6-1.el6.remi.5.6.1.i686

15/30
Installing : php-pecl-zip-1.12.4-2.el6.remi.5.6.i686

16/30
Installing : php-pdo-5.6.2-1.el6.remi.i686

17/30
Installing : libXau-1.0.6-4.el6.i686

18/30
Installing : libxcb-1.9.1-2.el6.i686

19/30
Installing : libX11-1.6.0-2.2.el6.i686

20/30
Installing : libXpm-3.5.10-2.el6.i686

21/30
Installing : gd-last-2.1.0-3.el6.remi.i686

22/30
Installing : t1lib-5.1.2-6.el6_2.1.i686

23/30
Installing : libtool-ltdl-2.2.6-15.5.el6.i686

24/30
Installing : php-mcrypt-5.6.2-1.el6.remi.i686

25/30
Installing : php-gd-5.6.2-1.el6.remi.i686

26/30
Installing : php-mysqlnd-5.6.2-1.el6.remi.i686

27/30
Installing : php-mbstring-5.6.2-1.el6.remi.i686

28/30
Installing : php-fpm-5.6.2-1.el6.remi.i686

29/30
Installing : nginx-1.6.2-1.el6.ngx.i386

30/30 ———————————————————————- Thanks for using nginx! Please find the official documentation for nginx here: * http://nginx.org/en/docs/ Commercial subscriptions for nginx are available on: * http://nginx.com/products/ ———————————————————————-
Verifying : libtiff-3.9.4-10.el6_5.i686

1/30
Verifying : gd-last-2.1.0-3.el6.remi.i686

2/30
Verifying : php-pecl-jsonc-1.3.6-1.el6.remi.5.6.1.i686

3/30
Verifying : php-common-5.6.2-1.el6.remi.i686

4/30
Verifying : php-pecl-zip-1.12.4-2.el6.remi.5.6.i686

5/30
Verifying : libtool-ltdl-2.2.6-15.5.el6.i686

6/30
Verifying : libX11-1.6.0-2.2.el6.i686

7/30
Verifying : libXau-1.0.6-4.el6.i686

8/30
Verifying : php-pdo-5.6.2-1.el6.remi.i686

9/30
Verifying : libvpx-1.3.0-5.el6_5.i686

10/30
Verifying : nginx-1.6.2-1.el6.ngx.i386

11/30
Verifying : php-mcrypt-5.6.2-1.el6.remi.i686

12/30
Verifying : php-process-5.6.2-1.el6.remi.i686

13/30
Verifying : fontconfig-2.8.0-5.el6.i686

14/30
Verifying : libxcb-1.9.1-2.el6.i686

15/30
Verifying : 1:php-pear-1.9.5-3.el6.remi.noarch

16/30
Verifying : php-gd-5.6.2-1.el6.remi.i686

17/30
Verifying : php-mbstring-5.6.2-1.el6.remi.i686

18/30
Verifying : freetype-2.3.11-14.el6_3.1.i686

19/30
Verifying : php-xml-5.6.2-1.el6.remi.i686

20/30
Verifying : 2:libpng-1.2.49-1.el6_2.i686

21/30
Verifying : libjpeg-turbo-1.2.1-3.el6_5.i686

22/30
Verifying : libX11-common-1.6.0-2.2.el6.noarch

23/30
Verifying : t1lib-5.1.2-6.el6_2.1.i686

24/30
Verifying : php-mysqlnd-5.6.2-1.el6.remi.i686

25/30
Verifying : libxslt-1.1.26-2.el6_3.1.i686

26/30
Verifying : libXpm-3.5.10-2.el6.i686

27/30
Verifying : php-cli-5.6.2-1.el6.remi.i686

28/30
Verifying : php-fpm-5.6.2-1.el6.remi.i686

29/30
Verifying : libmcrypt-2.5.8-9.el6.i686

30/30 Installed:
nginx.i386 0:1.6.2-1.el6.ngx

php-common.i686 0:5.6.2-1.el6.remi
php-fpm.i686 0:5.6.2-1.el6.remi
php-gd.i686 0:5.6.2-1.el6.remi

php-mbstring.i686 0:5.6.2-1.el6.remi php-mcrypt.i686 0:5.6.2-1.el6.remi
php-mysqlnd.i686 0:5.6.2-1.el6.remi Dependency Installed:
fontconfig.i686 0:2.8.0-5.el6

freetype.i686 0:2.3.11-14.el6_3.1
gd-last.i686 0:2.1.0-3.el6.remi

libX11.i686 0:1.6.0-2.2.el6
libX11-common.noarch 0:1.6.0-2.2.el6

libXau.i686 0:1.0.6-4.el6
libXpm.i686 0:3.5.10-2.el6

libjpeg-turbo.i686 0:1.2.1-3.el6_5
libmcrypt.i686 0:2.5.8-9.el6

libpng.i686 2:1.2.49-1.el6_2
libtiff.i686 0:3.9.4-10.el6_5

libtool-ltdl.i686 0:2.2.6-15.5.el6
libvpx.i686 0:1.3.0-5.el6_5

libxcb.i686 0:1.9.1-2.el6
libxslt.i686 0:1.1.26-2.el6_3.1

php-cli.i686 0:5.6.2-1.el6.remi
php-pdo.i686 0:5.6.2-1.el6.remi

php-pear.noarch 1:1.9.5-3.el6.remi
php-pecl-jsonc.i686 0:1.3.6-1.el6.remi.5.6.1

php-pecl-zip.i686 0:1.12.4-2.el6.remi.5.6
php-process.i686 0:5.6.2-1.el6.remi

php-xml.i686 0:5.6.2-1.el6.remi
t1lib.i686 0:5.1.2-6.el6_2.1 Complete!

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 (gõ lần lượt các lệnh):

service nginx start service php-fpm start chkconfig php-fpm on chkconfig nginx on

Output trả về:

[root@lempstack ~]# service nginx start Starting nginx:

[ OK ] [root@lempstack ~]# service php-fpm start Starting php-fpm:

[ OK ] [root@lempstack ~]# chkconfig php-fpm on [root@lempstack ~]# chkconfig nginx on

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

nginx -v php-fpm -v
[root@lempstack ~]# php-fpm -v PHP 5.6.1 (fpm-fcgi) (built: Oct  3 2014 07:29:26) Copyright (c) 1997-2014
The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies [root@lempstack ~]# nginx -v nginx version: nginx/1.6.2

 

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:

Trang Welcome của NGINX

Trang Welcome của NGINX

IV. 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 và tìm:

user = apache ; RPM: Keep a group allowed to write in log dir. group = apache

Thay thành

user =&nbsp;nginx ; RPM: Keep a group allowed to write in log dir. group = nginx

Lưu lại và khởi động lại PHP-FPM

service php-fpm restart

Nếu bạn cần cách thiết lập từng user riêng theo domain thì mình đã hướng dẫn ở phần 7.

Tạm thời bài này chúng ta kết thúc ở đây, ở bài 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 đó.

Leave your comment