以前使用php的時候, 都是直接用nginx和php對接的, 極少是用apache去對接, 但是最近在用httpd測試WordPress的時候,
發現一個有趣的問題,
php不用啟動也能直接去解析php頁面 ???
以前用nginx的時候是這樣對接的, 前提是php是需要啟動的情況下才去解析的,
放在同一個server下
NGINX
server { location / { } location ~* \.php$ { root /app/iislPhoto; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /app/iislPhoto$fastcgi_script_name; include fastcgi_params; } }
APACHE1
后來發現httpd也有支持php, 也是規定要啟動php才能解析
1.vim /etc/httpd/conf.modules.d/10-php-fpm.conf
<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>
2.vim /etc/httpd/conf/httpd.conf
# 加入模塊 LoadModule proxy_module /usr/lib64/httpd/modules/mod_proxy.so LoadModule proxy_fcgi_module /usr/lib64/httpd/modules/mod_proxy_fcgi.so LoadModule rewrite_module /usr/lib64/httpd/modules/mod_rewrite.so
3.載入php首頁支持(這個在httpd.conf)
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
再重啟下就好了
APACHE2
后來發現, 原來不用啟動php服務器apache也能成功解析php頁面的
yum install php php-mysql httpd* -y
不用啟動php服務為什么也能解析
因為在linux下安裝httpd的時候/etc/httpd/conf.d/php.conf這個文件有加載php模塊
conf.d下面的內容會在/etc/httpd/conf/httpd.conf中的Include conf.d/*.conf中包含進去了
包括上面的10-php-fpm.conf也會自動生成相關規則