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.
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.
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.
Đầ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
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
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:
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 = 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 đó.
Phần kế tiếp: LEMP cho VPS [Phần 2] – Thêm VirtualHost (thêm domain) cho NGINX