在CentOS系统中,设置PHP-CGI以便与Web服务器(如Nginx或Apache)一起工作,可以按照以下步骤进行:
安装PHP-FPM:
sudo yum install php-fpm
配置PHP-FPM:
编辑PHP-FPM的配置文件 /etc/php-fpm.d/www.conf
,确保监听地址和端口正确。默认情况下,PHP-FPM会监听Unix socket /run/php-fpm/www.sock
。
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
启动PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Nginx:
编辑Nginx的配置文件 /etc/nginx/nginx.conf
或站点配置文件(通常在 /etc/nginx/conf.d/
或 /etc/nginx/sites-available/
目录下),添加以下内容:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启Nginx:
sudo systemctl restart nginx
安装PHP-FPM:
sudo yum install php-fpm
配置PHP-FPM:
编辑PHP-FPM的配置文件 /etc/php-fpm.d/www.conf
,确保监听地址和端口正确。默认情况下,PHP-FPM会监听Unix socket /run/php-fpm/www.sock
。
listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
启动PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Apache:
编辑Apache的配置文件 /etc/httpd/conf/httpd.conf
或站点配置文件(通常在 /etc/httpd/conf.d/
或 /etc/httpd/sites-available/
目录下),添加以下内容:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
</VirtualHost>
重启Apache:
sudo systemctl restart httpd
无论使用哪种方式,都可以通过创建一个简单的PHP文件来验证配置是否正确。例如,在 /var/www/html
目录下创建一个 info.php
文件,内容如下:
<?php
phpinfo();
?>
然后在浏览器中访问 http://example.com/info.php
,如果看到PHP信息页面,则配置成功。
通过以上步骤,你可以在CentOS系统中成功设置PHP-CGI,并与Nginx或Apache一起工作。