看 V 友提到做动静分离可以提供效率,然后去试了一下,看了很多教程,然而一直出错,偶然发现原来是 PHP 版本不同导致的! WTF!
在 nginx 下, php 版本是 5.4 ,在 Apache 下, php 版本是 5.2 ,而且 PHP 的配置 TM 还不一样
那么问题来了,怎样它俩绑定到同一个 PHP 版本下?
1
fengyqf 2017-04-07 18:26:13 +08:00 via Android
既然动静分离,为什么 Apache 跟 Nginx 都处理 PHP 请求?好奇你的动静是按什么条件分离的。
|
2
imyip 2017-04-07 18:30:46 +08:00 via iPhone
动静分离难道不是,静态请求交给 nginx 处理,动态请求交给 apache 么,所以应该是 apache 处理 php 吧
|
3
ivmm 2017-04-07 18:56:23 +08:00
Nginx 80/443 反代 Apache Httpd 8088 , Httpd 用 mod_PHP 处理 PHP 或者 fastcgi 加载 PHP-FPM
|
4
Love4Taylor 2017-04-07 20:09:29 +08:00
难道不是非 PHP 文件直接由 Nginx 处理 PHP 文件反代给 Apache ?
|
5
param 2017-04-07 20:15:13 +08:00 via Android
不是很懂。。 Apache 和 Nginx 分别处理静态文件和 PHP 的好处是什么。。
|
7
Yourdaye OP @ivmm 兄弟能不能说详细点?
我的 nginx 里面是这样配置的,用的 8080 端口 location ~ \.(php)?$ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; } 怎样才能做到你说的那样呢?多谢了! |
8
Yourdaye OP @ivmm 目前的 nginx 是这样配置的:
location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } |
9
Yourdaye OP @ivmm 是不是直接把 fastcgi_pass 127.0.0.1:9000; 改为: fastcgi_pass http://127.0.0.1:8080;
|
12
ivmm 2017-04-09 17:11:03 +08:00
|