Cuối cùng tôi đã tìm thấy một hướng dẫn tốt đẹp hướng đến việc này. Tôi sẽ phác thảo các bước tôi đã thực hiện khi tôi đã cài đặt LAMP stack của mình nhưng hướng dẫn đầy đủ có thể được tìm thấy ở đây .
Lưu ý cho cái mới:
Trong hướng dẫn, nó bắt đầu bằng cách chuyển sang người dùng root bằng:
sudo su
Trong trường hợp của tôi, tôi chỉ đơn giản là tiền tố các lệnh sudo
đó thay vì chuyển đổi người dùng, vì vậy tôi sẽ ghi lại các bước của mình theo cách đó.
Bắt đầu
Bước một: Cài đặt MPM Apache Worker (Mô-đun đa cấp)
sudo apt-get install apache2-mpm-worker
Cái này thay thế cho prefork mà tôi đã cài đặt, mặc định khi cài đặt Apache.
Bước 2: Cài đặt PHP5 và các mô-đun cần thiết
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
Tại thời điểm này, bạn có thể gặp lỗi khi cài đặt 'libapache2-mod-fastcgi':
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libapache2-mod-fastcgi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package 'libapache2-mod-fastcgi' has no installation candidate
Phần này không có trong hướng dẫn ở trên
Để dung hòa điều này, multiverse
kho lưu trữ phải được thêm vào các nguồn apt.
Để làm điều này:
sudo nano /etc/apt/sources.list
Tôi đã nối các dòng sau:
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://security.ubuntu.com/ubuntu precise-security multiverse
precise
trong trường hợp này đề cập đến phiên bản Ubuntu " Precolin Pangolin " của tôi.
Vì vậy, bây giờ, lưu những thay đổi đó và quay lại thiết bị đầu cuối:
sudo apt-get update
Và một lần nữa:
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
mà sẽ (nên) bây giờ làm việc.
Bây giờ kích hoạt các mô-đun Apache này:
sudo a2enmod actions fastcgi alias
khởi động lại apache
sudo service apache2 restart
Bước 3: Cấu hình Apache
Để làm cho Apache hoạt động với PHP-FPM, chúng ta cần cấu hình sau:
<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
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
#directory statement mult be on multiple lines
</IfModule>
Chú thích:
Nếu bạn đang sử dụng phiên bản cũ hơn của Apache (2.3.x trở lên), hãy bỏ qua dòng
<Directory /usr/lib/cgi-bin> Require all granted </Directory>
Bạn có thể kiểm tra phiên bản đã cài đặt của mình bằng lệnh
apache2 -version
Bạn có thể đặt nó trong cấu hình Apache toàn cầu (vì vậy nó được kích hoạt cho tất cả các vhost), ví dụ như trong /etc/apache2/conf.d/php5-fpm.conf
(tệp này không tồn tại, do đó bạn phải tạo nó) hoặc bạn có thể đặt nó trong mỗi vhost nên sử dụng PHP-FPM.
Tôi chọn đi theo con đường toàn cầu, vì vậy:
sudo nano /etc/apache2/conf.d/php5-fpm.conf
dán vào khối mã ở trên và lưu, thoát. Tệp mới này sẽ được tự động tải theo cấu hình mặc định của Apache, tải tất cả các tệp trong /etc/apache2/conf.d/
thư mục.
khởi động lại Apache:
sudo service apache2 restart
Bây giờ tạo tệp PHP sau trong tài liệu gốc /var/www
:
sudo nano /var/www/info.php
Thêm vào:
<?php phpinfo();
cứu thoát.
Bây giờ chúng tôi gọi tệp đó trong trình duyệt (ví dụ http://your-server-ip/info.php
)
Trong API máy chủ ở đầu bạn sẽ thấy FPM/FastCGI
.
Sự thành công!
Để biết thêm thông tin như cách thay đổi PHP-FPM để sử dụng ổ cắm unix thay vì cổng TCP mặc định hoặc cách định cấu hình này cho các máy chủ ảo riêng lẻ thay vì tất cả chúng, hãy xem hướng dẫn nguồn được liên kết ở trên cùng.