ในที่สุดฉันก็พบว่ามีการสอนที่ดีที่มุ่งทำสิ่งนี้ ผมจะร่างขั้นตอนที่ผมเข้ามาเป็นฉันแล้วได้โคมไฟกองของฉันติดตั้ง แต่กวดวิชาเต็มสามารถพบได้ที่นี่
หมายเหตุสำหรับใหม่:
ในบทช่วยสอนมันเริ่มต้นด้วยการสลับเป็นผู้ใช้รูทด้วย:
sudo su
ในกรณีของฉันฉันนำหน้าคำสั่งเหล่านั้นsudo
แทนที่จะสลับผู้ใช้ดังนั้นฉันจะทำเอกสารขั้นตอนของฉันในลักษณะนั้น
เริ่ม
ขั้นตอนที่หนึ่ง: ติดตั้ง Apache Worker MPM (โมดูลแบบ Multi-Procesing)
sudo apt-get install apache2-mpm-worker
สิ่งนี้แทนที่ prefork ที่ฉันติดตั้งซึ่งเป็นค่าเริ่มต้นเมื่อติดตั้ง Apache
ขั้นตอนที่ 2: ติดตั้ง PHP5 และโมดูลที่จำเป็น
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
ณ จุดนี้คุณอาจได้รับข้อผิดพลาดในการติดตั้ง '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
ส่วนนี้ไม่ได้อยู่ในบทช่วยสอนด้านบน
หากต้องการกระทบยอดนี้multiverse
ต้องมีการเพิ่มที่เก็บข้อมูลลงในแหล่งข้อมูล apt
เพื่อทำสิ่งนี้:
sudo nano /etc/apt/sources.list
ที่ฉันต่อท้ายบรรทัดต่อไปนี้:
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
ในกรณีนี้อ้างถึง Ubuntu " Precise Pangolin " เวอร์ชั่นของฉัน
ดังนั้นตอนนี้บันทึกการเปลี่ยนแปลงเหล่านั้นและกลับไปที่เทอร์มินัล:
sudo apt-get update
และอีกครั้ง:
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
ซึ่งจะ (ควร) ตอนนี้ทำงาน
ตอนนี้เปิดใช้งานโมดูล Apache เหล่านี้:
sudo a2enmod actions fastcgi alias
รีสตาร์ท apache
sudo service apache2 restart
ขั้นตอนที่ 3: การกำหนดค่า Apache
เพื่อให้ Apache ทำงานกับ PHP-FPM เราจำเป็นต้องมีการกำหนดค่าต่อไปนี้:
<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>
บันทึก:
หากคุณใช้ Apache เวอร์ชันที่เก่ากว่า (2.3.x หรือเก่ากว่า) ให้เว้นบรรทัดไว้
<Directory /usr/lib/cgi-bin> Require all granted </Directory>
คุณสามารถตรวจสอบเวอร์ชั่นที่ติดตั้งของคุณด้วยคำสั่ง
apache2 -version
คุณสามารถวางไว้ในการกำหนดค่า Apache ทั่วโลก (ดังนั้นจึงเปิดใช้งานสำหรับ vhosts ทั้งหมด) ตัวอย่างเช่นใน/etc/apache2/conf.d/php5-fpm.conf
(ไฟล์นี้ไม่มีอยู่ดังนั้นคุณต้องสร้างมันขึ้นมา) หรือคุณสามารถวางไว้ในแต่ละ vhost ที่ควรใช้ PHP-FPM
ฉันเลือกที่จะไปเส้นทางทั่วโลกดังนั้น:
sudo nano /etc/apache2/conf.d/php5-fpm.conf
วางในบล็อกรหัสด้านบนและบันทึกออก ไฟล์ใหม่นี้จะถูกโหลดโดยอัตโนมัติโดยการกำหนดค่าเริ่มต้นของ Apache ซึ่งโหลดไฟล์ทั้งหมดใน/etc/apache2/conf.d/
ไดเรกทอรี
รีสตาร์ท Apache:
sudo service apache2 restart
ตอนนี้สร้างไฟล์ PHP ต่อไปนี้ในรูทเอกสาร/var/www
:
sudo nano /var/www/info.php
เพิ่ม:
<?php phpinfo();
บันทึก & ออก
ตอนนี้เราเรียกไฟล์นั้นในเบราว์เซอร์ (เช่นhttp://your-server-ip/info.php
)
ภายใต้เซิร์ฟเวอร์ APIFPM/FastCGI
ที่ด้านบนคุณจะเห็น
ที่ประสบความสำเร็จ!
สำหรับข้อมูลเพิ่มเติมเช่นวิธีการเปลี่ยน PHP-FPM ให้ใช้ซ็อกเก็ต unix แทนพอร์ต TCP เริ่มต้นหรือวิธีกำหนดค่านี้สำหรับโฮสต์เสมือนแต่ละรายการแทนที่จะเป็นโฮสต์เสมือนทั้งหมดดูที่บทช่วยสอนแหล่งข้อมูลที่เชื่อมโยงที่ด้านบน