PHP-FPM مخفف عبارت FastCGI Process Manager به معنی مدیر فرایند FastCGI، یک پیاده سازی جایگزین PHP FastCGI است که مخصوص وب سایت های پر بار طراحی شده است. PHP-FPM به شما امکان می دهد چندین نسخه PHP را همزمان اجرا کنید. PHP-FPM را می توان به گونه ای متفاوت از mod_PHP در وب سرور اجرا کرد. اگر به دنبال یک میزبان برای برنامه وب خود با عملکرد مطلوب هستید، PHP-FPM بهترین انتخاب برای شما است.
در این آموزش، نحوه راه اندازی PHP-FPM روی وب سرور آپاچی در اوبونتو 18.04 را توضیح می دهیم.
پیش نیازها
- یک سرور ابونتو 18.04 (می توانید از یک VPS برای اوبونتو 18.04 جدید در بستر ابری استفاده کنید.)
- یک نام دامنه معتبر که به آدرسIP روی VPS شما اشاره دارد.
مرحله 1- ایجاد سرور
ابتدا سرور خود را راه اندازی کنید. پس از ورود به سرور اوبونتو 18.04، دستور زیر را اجرا کنید تا سیستم اصلی خود را با جدیدترین بسته های موجود، به روز کنید.
apt-get update -y
مرحله 2- راه اندازی PHP-FPM در وب سرور آپاچی
در این قسمت نحوه نصب و راه اندازی PHP-FPM در وب سرور آپاچی را می آموزیم.
نصب آپاچی و راه اندازی PHP-FPM
ابتدا آپاچی و پشتیبانی PHP-FPM را با اجرای فرمان زیر نصب کنید:
apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y
پس از نصب همه بسته ها، سرویس آپاچی و PHP-FPM را با دستور زیر شروع کنید:
systemctl start apache2
systemctl start php7.2-fpm
پیکربندی آپاچی با پشتیبانی PHP-FPM
در این مرحله شما باید وب سرور آپاچی را با پشتیبانی PHP-FPM پیکربندی کنید. برای انجام این کار، یک فایل پیکربندی میزبان مجازی آپاچی جدید ایجاد کنید:
nano /etc/apache2/sites-available/example.com.conf
خط های زیر را اضافه کنید:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/
DirectoryIndex info.php
ServerName example.com
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<FilesMatch \.php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
آن را ذخیره کرده و ببندید. سپس، فایل پیکربندی میزبان مجازی را با دستور زیر فعال کنید:
a2ensite example.com
بعد، شما باید چند ماژول را برای Apache2 فعال کنید تا با PHP-FPM کار کنید:
a2enmod actions fcgid alias proxy_fcgi
سپس، سرویس آپاچی را با استفاده از دستور زیر دوباره راه اندازی کنید:
systemctl restart apache2
مرحله 3 - تست وب سرور آپاچی
در حال حاضر وب سرور آپاچی با پشتیبانی PHP-FPM پیکربندی شده است. وقت آن است که تست کنیم که آیا PHP-FPM با وب سایت آپاچی بارگیری می شود یا خیر.
برای تست آن، یک فایل نمونه را در داخل فایل info.php در مسیر root آپاچی ایجاد کنید:
nano /var/www/html/info.php
خط های زیر را اضافه کنید:
<?php
phpinfo();
?>
فایل را ذخیره کرده و ببندید. سپس با دستور زیر، دسترسی فایل info.php را به www-data تغییر دهید:
chown www-data:www-data /var/www/html/info.php
در نهایت مرورگر وب خود را باز کنید و آدرس http://example.com را تایپ کنید. شما باید صفحه زیر را ببینید:
صفحه بالا نشان می دهد که PHP-FPM با وب سرور آپاچی بارگذاری می شود.
توجه: فراموش نکنید که فایل info.php را پس از تست حذف کنید.
نتیجه
شما با موفقیت وب سرور آپاچی را با پشتیبانی PHP-FPM پیکربندی کرده اید. امیدوارم اکنون دانش کافی جهت استفاده از PHP-FPM برای اجرای نسخه های چندگانه PHP در یک زمان را داشته باشید. اگر قصد دارید وب سرورNginx را برای PHP-FPM پیکربندی کنید می توانید به این لینک مراجعه نمایید.