Cấu Hình Nginx Chạy Với PHP-FPM

Thảo luận trong 'General Discussions' bắt đầu bởi congnghevps, 15/6/13.

1votes
5/5, 1 vote

  1. congnghevps

    congnghevps Member

    Bài viết:
    268
    Likes :
    97
    Mô hình webserver với Nginx + PHP-FPM + MySQL + Memcached đang được nhiều người sử dụng vì mang lại hiệu quả và hiệu suất cao hơn các mô hình khác, trong bài viết này Congnghevps xin giới thiệu đến các bạn cách cài đặt các dịch vụ này trên máy chủ Linux sử dụng hệ điều hành CentOS 6.4.

    I. Thêm Repo

    Các repo mặt định của CentOS 6.4 có thể thiếu nhiều gói phần mềm do đó nên bổ sung thêm vào trước khi cài đặt, tạo một file congnghevps.repo trong thư mục /etc/yum.repo.d/ với nội dung sau.
    Mã:
    [epel]
    name=Extra Packages for Enterprise Linux 6 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
    failovermethod=priority
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
     
    [remi]
    name=Les RPM de remi pour Enterprise Linux 6 - $basearch
    #baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
    mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
    Sau đó cập nhật repo và update các phần mềm hiện có
    Mã:
    # yum update -y
    II. Cài Đặt Nginx + PHP-FPM + MySQL + Memcached

    Sử dụng một lệnh sau để cài đặt tất cả
    Mã:
    # yum install nginx php-fpm mysql-server memcached php-cli php-cgi php-mysql php-gd php-memcached php-memcache
    Sau đó ấn định các dịch vụ chính tự động start cùng hệ thống
    Mã:
    # chkconfig nginx on
    # chkconfig mysqld on
    # chkconfig memcached on
    # chkconfig php-fpm on
    Và đừng bao giờ quên đặt passwd của user root trong mysql đầu tiên
    Mã:
    # service mysqld start
    # mysqladmin -u root -p 'password'
    III. Tạo Virtual Hosting Với Nginx

    Đây là một file cấu hình virtual hosting trên Nginx, trong file này có những khai báo giúp Nginx có thể nhận ra các file php script và cách xử lý riêng. Các bạn tạo một file trong thư mục /etc/nginx/conf.d với nội dung sau đây nhé :
    Mã:
    server {
    # Phần đầu tiên khai báo domain và thư mục gốc cho virtual host
            listen          80;
            server_name    [domain của bạn];
            root            [thư mục chứ các file php];
            index          index.html index.php;
            autoindex      on;
     
    # Phần hai khai báo cách xử lý các file php script, nếu là file có đuôi .php thì sẽ được chuyển sang địa chỉ 127.0.0.1:9000 để xử lý sau đó lấy lại kết quả và trả về client.
            location ~* \.php$ {
            fastcgi_index index.php;
            fastcgi_pass 127.0.0.1:9000;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
            }
     
            location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
            expires max;
            access_log off;
            log_not_found off;
            }
     
            location ~ /\. {
            access_log off;
            log_not_found off;
            deny all;
            }
    }
    
    IV. Cấu Hình PHP-FPM

    File cấu hình PHP-FPM tiêu chuẩn có thể tìm thấy trong mục /etc/php-fpm.d/www.conf, các bạn copy file này ra một file nữa với tên bất kỳ và phần mở rộng là .conf, sau đó thay đổi những nội dung sau đây
    Mã:
    ; Start a new pool named 'www'.
    [tên tùy thích]
    
    Mã:
    listen = [địa chỉ bạn khai báo trong file virtual host ở trên
    
    Mã:
    user = congnghevps # Sử dụng quyền của user này xử lý các file .php
    ; RPM: Keep a group allowed to write in log dir.
    group = congnghevps # Sử dụng quyền của group này xử lý các file .php
    
    Sau đo các bạn restart lại dịch vụ.

    Lưu ý với một virtual hosting nên sử dụng một fastcgi_pass khác nhau, có thể thay đổi port, và với mỗi virtual hosting cũng cần một file pool khác nhau, có cùng địa chỉ để chuyển thông tin qua lại.

    Viết cho congnghevps.net và vxf.vn, các bài leech vui lòng ghi nguồn.
     
    bboy_nonoyes thích bài này.
    Đang tải...
comments powered by Disqus

Chia sẻ trang này

Đang tải...