server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php54-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name example.org;
root /var/www/example.org;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php70-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
在这里,我们使用两个不同的服务器块中分别设置了root和FastCGI参数,分别为example.com和example.org,支持PHP5.4和PHP7.0。
最后,我们需要启动PHP-FPM进程,并配置其监听套接字为前面所述的UNIX套接字。 例如:php54-fpm -c /etc/php54/php.ini -y /etc/php54/php-fpm.conf -g /run/php54-fpm.pid -D
php70-fpm -c /etc/php70/php.ini -y /etc/php70/php-fpm.conf -g /run/php70-fpm.pid -D
在这里,我们使用php54-fpm命令和php70-fpm命令分别启动PHP5.4和PHP7.0的FPM进程,并将其监听套接字设置为前面所述的Unix套接字,同时使用-c参数指定PHP配置文件的位置,-y参数指定PHP-FPM配置文件的位置,-g参数指定PID文件的位置,-D参数指定进程以守护进程形式运行。
综上所述,通过配置NGINX服务器以支持多个PHP版本,我们可以轻松地运行不同的PHP应用程序,从而提高Web应用的性能和稳定性。 此外,使用FastCGI和PHP-FPM来运行PHP应用程序,还可以提高Web应用的安全性和可靠性。 但要注意的是,在使用不同的PHP版本之间,要注意不兼容的问题,并且正确地配置服务器块和FastCGI参数。