HƯỚNG DẪN Cấu hình Nginx cho Yii

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 3/12/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Yii Framework là một framework PHP phổ biến có hiệu suất cao giúp các nhà phát triển xây dựng nhanh ứng dụng Web 2.0. Một số tính năng của nó là: MVC, DAO/ActiveRecord, I18N/L10N, bộ nhớ đệm, xác thực và kiểm soát truy cập dựa trên vai trò, scaffolding, kiểm tra, và còn một số tính năng khác.

    Trong hướng dẫn này, tôi sẽ chia sẻ bạn một cấu hình Yii + Nginx + PHP-FPM cơ bản. Để làm việc này, bạn cần phải có cấu hình php-fpm làm việc với socket, nếu không, bạn nên cần phải thay đổi dòng lệnh fastcgi_pass_unix sang 127.0.0.1:9000, đó là cổng mặc định và giao diện cho php-fpm.

    Tạo ra một tập tin mới cấu hình virtual host cho Yii hoặc có thể chỉnh sửa tập tin đã có sẵn:
    Mã:
     vim /etc/nginx/conf.d/yoursite.com.conf 
    Lưu ý: Bạn có thể cần phải thay đổi yoursite.com với tên miền thực sự của bạn.

    Sau đó dán đoạn này bên trong:
    Mã:
    server {
      set $host_path "/var/www/yoursite.com";
      access_log  /var/www/yoursite.com/log/access.log  main;
      server_name  yoursite.com www.yoursite.com;
      root  $host_path/htdocs;
      set $yii_bootstrap "index.php";
    
      # define charset
      charset utf-8;
      location / {
      index  index.html $yii_bootstrap;
      try_files $uri $uri/ /$yii_bootstrap?$args;
      }
    
      # deny access to protected directories
      location ~ ^/(protected|framework|themes/w+/views) {
      deny  all;
      }
    
      #avoid processing of calls to unexisting static files by yii
      location ~ .(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
      try_files $uri =404;
      }
    
      # prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.)
      location ~ /. {
      deny all;
      access_log off;
      log_not_found off;
      }
    
      # php-fpm configuration using socket
      location ~ .php {
      fastcgi_split_path_info  ^(.+.php)(.*)$;
    
      #yii catches the calls to unexising PHP files
      set $fsn /$yii_bootstrap;
      if (-f $document_root$fastcgi_script_name){
      set $fsn $fastcgi_script_name;
      }
    
      fastcgi_pass  unix:/tmp/php5-fpm.sock;
      include fastcgi_params;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fsn;
    
      #PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI
      fastcgi_param  PATH_INFO  $fastcgi_path_info;
      fastcgi_param  PATH_TRANSLATED  $document_root$fsn;
    
    ## Tweak fastcgi buffers, just in case.
    fastcgi_buffer_size 128k;
    fastcgi_buffers 256 4k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
      }
    }
    
    Lưu ý: Bạn có thể cần phải thay đổi yoursite.com với tên miền thực sự của bạn và thư mục root với thư mục root thực sự của trang web của bạn.
     

Chia sẻ trang này

Đang tải...