简单说
--(我也就知道这么多)--,nginx处理请求是通过fpm(来管理fastcgi的)来实现请求和响应。
而nginx和php-fpm可以通过监听9000端口(默认)或者socket来实现。
而9000的格式是127.0.0.1:9000,是走网络的。通过ngxin的conf文件,把.php结尾的都交给9000端口处理,php-fpm(fastggi的进程管理器)选择并连接到一个fastcgi子进程,并将环境变量和标准输入发送到fastcgi子进程,然后不断的处理请求响应
socket文件就不走网络,是套接字。
好,至于速度对比和优化配置,先不说。
先说ubuntu(14.10 lts)升级php7
sudo add-apt-repository ppa:ondrej/php-7.0sudo apt-get updatesudo apt-get install php7.0-fpm
升级完成后,之前的fpm文件还在。可以酌情参考或者删除
php -vPHP 7.0.1-4+deb.sury.org~trusty+1 (cli) ( NTS )Copyright (c) 1997-2015 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
更改phpfpm监听9000端口为socket (默认就是socket)
php7默认的是socket,所以如果按照之前nginx -conf文件,php文件处理会报502错误。
默认的sock是在php配置文件中的,pool.d中的www.conf
root@tb:/etc/php/7.0/fpm# pwd/etc/php/7.0/fpmroot@tb:/etc/php/7.0/fpm# lsconf.d php-fpm.conf php.ini pool.droot@tb:/etc/php/7.0/fpm#
在这两行:
listen = /run/php/php7.0-fpm.sock; listen = 127.0.0.1:9000
## 更改nginx conf文件 ##
nginx 配置文件我的是在
root@tb:/etc/nginx/conf.d# ls git.conf svn.conf tb.conf
修改其中的git.conf如下
server{ listen 80; server_name git.com ; root /home/gittest/; autoindex on; location ~ \.php$ { root /home/gittest; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /home/gittest/$fastcgi_script_name; include fastcgi_params; }}
重启php-fpm和nginx
root@tb:/etc/nginx/conf.d# service nginx reload * Reloading nginx configuration nginx [ OK ] root@tb:/etc/nginx/conf.d# service php7-fpm status * php-fpm7.0 is running root@tb:/etc/nginx/conf.d# service php7-fpm reload * Reloading PHP 7.0 FastCGI Process Manager php-fpm7.0[ OK ] root@tb:/etc/nginx/conf.d#
要注意是ok才可以,具体的nginx和fpm的脚本执行文件(可自己修改)在:
root@tb:/etc/init.d# ls /etc/init.d/ |grep php7 php7-fpm root@tb:/etc/init.d# ls /etc/init.d/ |grep nginx nginx root@tb:/etc/init.d#
最后,进阶的同学可参考Nginx+PHP-FPM优化技巧总结

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

PHP logging is essential for monitoring and debugging web applications, as well as capturing critical events, errors, and runtime behavior. It provides valuable insights into system performance, helps identify issues, and supports faster troubleshoot

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

The article discusses adding custom functionality to frameworks, focusing on understanding architecture, identifying extension points, and best practices for integration and debugging.

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1
Easy-to-use and free code editor

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment