> nginx和fastcgi:高性能的PHP设置
使用NGINX和FASTCGI运行PHP应用程序,与传统的Apache/MOD_PHP方法具有显着的性能和可伸缩性优势。 本指南详细介绍了在Ubuntu服务器上设置此高性能体系结构,利用FastCGI的效率和Nginx的功能。 fastcgi:性能提升> FastCGI减轻了CGI的固有开销,为每个请求创建一个新的过程。 FastCGI保持持久的过程,可大大降低CPU和时间消耗。这会提高可扩展性和整体服务器效率。 下图说明了一个典型的CGI过程。
>安装和基本配置
>
>
<code class="language-bash">sudo apt-get install php5-cli php5-fpm nginx</code>配置nginx:
<code class="language-bash">cd /etc/nginx sudo rm sites-enabled/default sudo cp sites-available/default sites-available/my-default sudo ln -s /etc/nginx/sites-available/my-default sites-enabled/default</code>启用fastcgi:
中的相关行将php请求路由到fastcgi服务(php5-fpm)。关键部分应该类似于以下方式:
/etc/nginx/sites-available/my-default
<code class="language-nginx">location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }</code>
>
<code class="language-bash">sudo service nginx start</code>验证安装:
)在Web root()中。 在浏览器中访问应显示PHP信息,并通过FastCGI确认NGINX和PHP的集成。 服务器API应显示“ FPM/fastcgi”。info.php
<?php phpinfo(); ?>
/usr/share/nginx/html
info.php
基本配置增强
Web根部权限:
>sudo
>处理不存在的脚本:
<code class="language-bash"> sudo adduser <username> www-data sudo chgrp -R www-data /usr/share/nginx/html sudo chmod -R g+rw /usr/share/nginx/html sudo chmod g+s /usr/share/nginx/html</username></code>指令到NGINX配置以增强安全性:
从apache迁移:try_files
>使用在线转换器将apache指令(例如,
<code class="language-nginx"> location ~ \.php$ { try_files $uri $uri/ =404; # ... other FastCGI directives ... }</code>
结论.htaccess
本指南为使用NGINX和FASTCGI建立高性能的PHP环境提供了强大的基础。 通过遵循这些步骤并结合了建议的安全性和性能增强功能,您可以为您的PHP应用程序创建可扩展和高效的Web服务器。 请记住,请始终查阅NGINX和PHP的官方文档以获取最新信息和最佳实践。
以上是使用FastCGI在Nginx后面设置PHP的详细内容。更多信息请关注PHP中文网其他相关文章!