2013-06-25 17 views
10

Tất cả các hướng dẫn tôi tìm thấy là cách cài đặt công nhân MPM + PHP-FPM, kể từ khi blog wordpress của tôi đã hoạt động với MPK prefork, sửa tôi nếu tôi sai trong quá trình cài đặt mô phỏng:Chuyển từ prefork MPM sang công nhân MPM + php-fpm trên ubuntu

tôi đang trên ubuntu và theo một số hướng dẫn, các dòng sau đây sẽ làm tất cả các thủ thuật:

apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5-fpm php5-gd 
a2enmod actions fastcgi alias 

sau đó, bạn thiết lập cấu hình trong /etc/apache2/conf.d/php5-fpm.conf:

<IfModule mod_fastcgi.c> 
       AddHandler php5-fcgi .php 
       Action php5-fcgi /php5-fcgi 
       Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi 
       FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization 
</IfModule> 

Sau khi tất cả các, khởi động lại:

service apache2 restart && service php5-fpm restart 

Câu hỏi:

1) Nó sẽ gây ra bất kỳ thời gian xuống trong toàn bộ quá trình trước đó chạy các trang web với prefork MPM?

2) Bạn có phải thay đổi bất kỳ tệp cấu hình đã tồn tại nào như php hoặc mysql hoặc apache2 (chúng sẽ có hiệu lực ngay sau khi chuyển mà bạn không làm gì)?

3) Tôi đã cài đặt và chạy, bạn có phải cài đặt lại/định cấu hình lại sau khi chuyển đổi không?

4) Làm cách nào để bạn biết liệu apache2 có đang hoạt động ở chế độ MPM của nhân viên như mong đợi không?

Cảm ơn rất nhiều!

+0

Tôi đang trong quá trình thực hiện tương tự. Bạn có phiền nếu tôi hỏi bạn đã làm điều này và nó đã làm việc liên tục hoặc có vấn đề? –

+0

@StephenBaugh: Nếu tôi nhớ lại chính xác thì chỉ có một hoặc hai phút ngừng hoạt động vì 'prefork MPM' và' worker MPM' không thể tồn tại cùng một lúc, nghĩa là khi 'apt-get install apache2-mpm-worker' bắt đầu cũ ' prefork MPM' apache server sẽ dừng ngay lập tức và bắt đầu gỡ bỏ cài đặt trước, và sau khi bạn cài đặt mọi thứ từ 'apt-get ...' và thiết lập đúng cấu hình, 'service apache2 restart && service php5-fpm restart' sẽ lấy lại máy chủ để làm việc ở chế độ 'worker MPM'. – Shane

+0

Cảm ơn Shane. Tôi thực sự đánh giá cao việc bạn dành thời gian để trả lời.Chúng tôi đang trên AWS vì vậy tôi sẽ chỉ quay lên một ví dụ và thử nó trên đó trong môi trường phát triển. Rất vui được biết đó là vấn đề duy nhất bạn có. –

Trả lời

5
  1. có, ít nhất phải thay thế quy trình httpd đang chạy. bạn chắc chắn muốn thử nghiệm điều này trên một thiết lập phát triển đầu tiên. thật dễ dàng để có một sai lầm trong một tập tin cấu hình mà phải mất một lúc để tìm ra.

  2. không có thay đổi đối với php, mysql. có những thay đổi đối với httpd.conf của apache để đặt trong cấu hình công nhân - chúng rất khác với cài đặt prefork. bạn cần tự mình thực hiện các thay đổi này trong httpd.conf.

  3. không, vì đây là mô-đun php, bất cứ khi nào php chạy nó hoạt động. nói rằng, nó sẽ chạy một bản sao cho mỗi nhóm trong php-fpm, vì vậy nếu bạn có nhiều tên miền, bạn có thể nhóm chúng thành một nhóm để chia sẻ ... nhưng hãy lưu ý các mối quan ngại về bảo mật nếu bạn làm điều đó.

  4. httpd -V lãm "máy chủ MPM"

chúc may mắn!

+0

fyi, zendopcache php mới (cho php 5.4+) chia sẻ bộ đệm ẩn giữa các nhóm php-fpm. – troseman