Thứ tư, 21/08/2013 | 00:00 GMT+7

Cách tối ưu hóa Nginx với PHP Pools trên VPS Ubuntu 13.04


Giới thiệu

Một trong những lợi ích của PHP-FPM là bạn có thể chạy các trang web và ứng dụng khác nhau dưới quyền user của chính nó. Chúng được gọi là pool và khá dễ cài đặt. Đây có thể là một cách hữu ích để giúp cài đặt chứng khoán giữa các server khác nhau cũng như những user khác nhau mà bạn có thể đã cài đặt , do đó ngăn ngừa các lỗ hổng bảo mật. Điều này cũng cho phép bạn cấp quyền sở hữu cho các folder và file của user và ngăn lỗi server do một group PHP khác đang cố gắng ghi vào các file mà nó không sở hữu.

Đây là một cài đặt khá dễ dàng và không gây đau đớn và đặc biệt hữu ích nếu bạn định chạy nhiều cài đặt khung công tác trên một khối server Nginx ( server ảo).

KHUYẾN CÁO: Tuy nhiên, điều này cho phép bạn bắt đầu các stream PHP nhàn rỗi tiêu tốn bộ nhớ. Vì vậy, bạn nên theo dõi và cân bằng các quy trình PHP trên server của bạn . Việc cài đặt quá nhiều pool có thể gây ra những điều thú vị khi quá trình trao đổi dữ liệu bắt đầu.

Cài đặt

Các bước trong hướng dẫn này yêu cầu user có quyền root trên server riêng ảo. Vui lòng tham khảo bước 3 và 4 trong Hướng dẫn cài đặt server ban đầu .

Các cài đặt bắt buộc cho hướng dẫn này là Nginx và PHP-FPM. Bạn nên cài đặt một LEMP được cấu hình đúng cách (Linux, Nginx, MySQL, PHP-FPM) . Điều này sẽ bao gồm tất cả các yêu cầu cần thiết.

Bước một: Tạo group bộ nhớ PHP-FPM mới

Đối với Nginx, để tạo một group mới, ta cần sao chép group mặc định thuộc về www-data. Có thể bạn sẽ nhớ cấu hình group này khi bạn cài đặt PHP-FPM và Nginx lần đầu.

CẢNH BÁO: Không xóa group mặc định. Việc cho phép www-data chạy group riêng và thêm group khi cần thiết cho những user khác nhau được coi là thông lệ tiêu chuẩn, để giữ các quyền hệ thống tách biệt với các quyền của user .

Để làm như vậy, ta chỉ cần sao chép www.conf mặc định và đổi tên bản sao thành user mà ta muốn liên kết với nó (thay thế tên user bằng tên của user ):

sudo cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/username.conf

Tiếp theo, mở nó trong nano:

sudo nano /etc/php5/fpm/pool.d/username.conf

Bây giờ làm việc thông qua file và thay đổi các tùy chọn như sau:

; Start a new pool named 'www'.
; the variable $pool can we used in any directive and will be replaced by the
; pool name ('www' here)
[username]
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = username
listen = /var/run/php5-fpm.username.sock

Lưu ý: Có những cài đặt khác mà bạn có thể điều chỉnh trong file này, tuy nhiên, để ngắn gọn, ta sẽ chỉ điều chỉnh những gì ta cần để cài đặt một group cơ bản một cách nhanh chóng.

Sau đó, lưu file và khởi động lại PHP-FPM:

sudo service php5-fpm restart

Bước hai: Điều chỉnh khối server của bạn

Nếu bạn đã dành một chút thời gian để cài đặt các khối server ( server ảo) thì VPS cần phải điều chỉnh cho đúng socket để cho phép truy cập vào group mới tạo.

Mở file cấu hình server của bạn:

sudo nano /etc/nginx/sites-available/default

Hoặc nếu bạn cài đặt khối server ( server ảo), thì:

sudo nano /etc/nginx/sites-available/example.com

Sau đó, chỉnh sửa dòng sau và thay thế tên user :

fastcgi_pass unix:/var/run/php5-fpm.username.sock;

Cuối cùng khởi động lại Nginx:

sudo service nginx restart

Nếu mọi thứ khởi động lại chính xác, thì bạn đã cài đặt thành công một group PHP-FPM khác!


Tags:

Các tin liên quan

Cách cấu hình ghi log và xoay vòng log trong Nginx trên VPS Ubuntu
2013-08-20
Cách cài đặt và cấu hình Django với Postgres, Nginx và Gunicorn
2013-08-14
Cách phát trực tuyến video với Nginx và JWPlayer trên CentOS 6
2013-05-31
Cách thiết lập xác thực HTTP với Nginx trên Ubuntu 12.10
2013-04-30
Cách cài đặt (LEMP) nginx, MySQL, PHP stack trên Arch Linux
2012-11-02
Cách thiết lập cân bằng tải Nginx
2012-08-27
Cách cấu hình Nginx làm Reverse Proxy cho Apache
2012-07-20
Cách cài đặt WordPress với nginx trên CentOS 6
2012-07-02
Cách cài đặt WordPress với nginx trên CentOS 6
2012-07-02
Cách tạo chứng chỉ SSL trên nginx cho CentOS 6
2012-06-08