標籤:blog http io ar os 使用 sp for strong
Nginx本身不內建PHP處理模組,因此需要配置反向 Proxy,將php請求交給其他的PHP解析器執行,然後返回結果給Nginx。
目前流行的方式是使用fast-cgi的方式配置PHP處理服務。其優點是比較簡潔,伺服器負載輕。但是缺點也是很明顯的:無法查看php處理狀態。
比如有時候網站因為負荷過高,php處理線程已經全部阻塞,就會造成網站無法再響應php服務。使用fastcgi方式,無法查看是哪些指令碼處理時間過長,阻塞了php處理線程。
而Apache的優點就在於,可以很好的查看哪些php指令碼處理時間過長,阻塞了有效進程數。
下面的方式是Nginx使用Apache的php處理後台:
配置好apache正確運行在8001連接埠。
修改nginx的虛擬機器主機配置,其他php指令碼交由apache解析
location ~ \.php$ { proxy_pass http://127.0.0.1:8001; 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_connect_timeout 30; proxy_send_timeout 30; proxy_read_timeout 30; client_max_body_size 10m; client_body_buffer_size 128k; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; }
重啟nginx和apache
注意,如果要查看php的處理狀態,安裝使用apache的監控模組就可以了。
Nginx使用Apache的php處理後台