在Ubuntu上,PHP-FPM(FastCGI Process Manager)和Apache可以配合使用,以提供更高效的PHP处理能力。以下是配置步骤:
首先,确保你的系统是最新的,并安装Apache和PHP-FPM。
sudo apt update
sudo apt upgrade
sudo apt install apache2 php-fpm
PHP-FPM的默认配置文件通常位于 /etc/php/7.x/fpm/pool.d/www.conf(其中 7.x 是你的PHP版本)。你可以根据需要编辑这个文件。
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
确保以下配置项正确:
listen = /run/php/php7.x-fpm.sock (或 /var/run/php/php7.x-fpm.sock)listen.owner = www-datalisten.group = www-datauser = www-datagroup = www-data保存并退出编辑器。
sudo systemctl start php7.x-fpm
sudo systemctl enable php7.x-fpm
你需要配置Apache的虚拟主机文件,以便将PHP请求传递给PHP-FPM。
sudo nano /etc/apache2/sites-available/your-site.conf
添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# PHP-FPM configuration
<FilesMatch \.php$>
SetHandler "proxy:fcgi://unix:/run/php/php7.x-fpm.sock|fcgi://localhost"
</FilesMatch>
</VirtualHost>
将 your-site.conf 替换为你的实际站点名称,并根据需要调整 DocumentRoot 和其他路径。
sudo a2ensite your-site.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
创建一个简单的PHP文件来测试配置是否正确。
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问 http://your-server-ip/info.php,你应该能看到PHP信息页面。
删除测试文件:
sudo rm /var/www/html/info.php
通过以上步骤,你已经成功地在Ubuntu上配置了Apache和PHP-FPM的配合使用。这种配置方式可以提供更好的性能和灵活性,特别是在处理高并发请求时。