Tuesday, September 23, 2014

Cài đặt Nginx & PHP-FPM trong Centos7

Cài đặt Nginx  và php-fpm trongCentos7.
1.1. cài đặt Nginx.
Cài đặt với lệnh:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
 có nhiều cách cài đặt khác bạn có thể download trực tiếp trên trang Nginx về sau đó tiến hành cài đặt bằng lệnh rpm.
sudo yum install nginx

ở đây lệnh sudo chỉ đảm bảo bạn đang thực hiện với quyền root, nếu bạn chay với quyền root thì có thể bỏ qua lệnh sudo.
Thế là đã cài xong nginx với các   thong số cơ bản giờ start dịch vụ và nó khỏi đọng cùng hệ điều hành nữa là ok.
sudo systemctl start nginx.service
#systemctl enable nginx.service

Giở chung ta truy câm xem demo


Nếu bạn muốn chỉnh sữa thong số trang default thì theo đường dẫn sau:
#vi /usr/share/nginx/html/index.html
Chỉnh sữa thong số cấu hình ta chỉnh file sau
etc/nginx/conf.d/default.conf
kiểm tra version nginx đã cài đặt
#nginx -v 

nginx version: nginx/1.6.2

xem log nginx tại đường dẫn

#cat /var/log/nginx/
ở đây có 2 file: error.log và access.log khỏi cần giới thiệu nhiều về 2 file này nữa

2.1.  cài dặt cấu hình php-fpm
php-fpm là gì:
PHP-FPM (FastCGI Process Manager) :
Một sự thay thế PHP FastCGI để thực hiện một số tính năng bổ sung hữu ích cho các trang web có kích thước bất kỳ, đặc biệt là các trang có lượng truy cập lớn.
Nó có các tính năng như sau:
-       Đáp ứng tốt tiến trình phát sinh.
-       Thống kê cơ bản (giống mod_status apache).
-       Quản lý tốt các tiến trình khởi động và kết thúc.
-       Khả năng start các worker với các UID/GID?CHROOT trong các môi trường khác nhau và file php.ini khác nhau( thay thế cho file safe_mod).
-       Ghi các sự kiện và lỗi.
-       Khỏi động lại khi bộ nhớ cache bị phá hủy.
-       Hỗ trợ tang tốc tải lên.
-       Hỗ trợ slowlog
-       Cải tiến FastCGI.
-        Và nhiều thứ khác …………. Tham khảo them tại trang chủ của nó http://php-fpm.org.
Cài đặt PHP
#yum -y install php php-string php-pear
#yum -y install php-fpm php-mysql
#vi /etc/php.ini
 Tìm tới dòng :
cgi.fix_pathinfo=0
chỉnh sửa 1 thành 0 ý nghĩa thong số này khi chúng ta để 1 thinhg php sẽ sử dụng tất cả tài nguyên dễ sử lý 1 file vấn đề này không tốt cho bảo mật , với  thông số 0 thì ngược lại
tiếp theo chúng ta cấu hình Nginx.
vi /etc/nginx/nginx.conf
chúng ta cần cấu hình woker process, Tùy theo core  CPU mà các bạn chỉnh cho hợp lý, với CPU thời đại giờ chắc chúng ta nên đưa về 4 hoặc 8 *_* bác nào có CPU cao hơn cứ mạnh dạng đẩy
 mặc định nó là 1( theo máy ảo cảu mình *_*).
worker_processes  1;
tiếp theo chỉnh sữa file cấu hình
vi /etc/nginx/conf.d/default.conf
thay đổi giống như dưới
#
# The default server
#
server {
    listen       80;
    server_name example.com;
 
   
    location / {
        root   /usr/share/nginx/html;
        index index.php  index.html index.htm;
    }
 
    error_page  404              /404.html;
    location = /404.html {
        root   /usr/share/nginx/html;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
Uncomment các dòng từ 30 tới 36
Sửa lại thư mục root là /usr/share/nginx/html
thay đổi thong số fastcgi_param  thành $document_root$fastcgi_script_name;
bây giờ tạo 1 file test info.php như sau
vi /usr/share/nginx/html/info.php
với nội dung như sau.
<?php
phpinfo();
?>
Cuối cùng khởi động dịch vụ
#systemctl start php-fpm
 #systemctl enable php-fpm
#systemctl  restart nginx
truy cập kiểm tra kết quả.

No comments:

Post a Comment