52AV手機A片王|52AV.one

 找回密碼
 立即註冊
查看: 1985|回復: 0

[網頁伺服器] Apache + mod_fastcgi + php-fpm(不同身分的使用者可執行Apache)

[複製鏈接]
發表於 2015-1-10 07:37:43 | 顯示全部樓層 |閱讀模式
tid=201&前言我使用php-fpm主要目的是為了可以用我的Linux帳號(例如kevin)去啟動Apache如此Apache的權限等同(equivalant)於kevin的權限如此我的網站的根目錄(例如 /home/kevin/),只要kevin擁有的權限apache便擁有" |5 Y8 K7 o6 s  h( ~
優點) \9 Z0 g3 G2 b
❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。
* l3 C& F7 _/ k, j; B  e5 x# ^〖安裝〗:6 z* K# T2 e! Y, V, H
《1》Apache已安裝& k* R5 V# Y1 T. ]+ S
《2》安裝mod_fastcgi
( t" u7 I) \, C/ H, K
  1. cd /usr/tmp
    2 O; L! z- O6 Y( H
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]  e0 y. k% J1 g5 {5 A
  3. tar -zxvf mod_fastcgi-current.tar.gz
    , x! S% N" m7 H" y) B$ J+ D: H$ g( G
  4. cd mod_fastcgi-2.4.6+ @6 J& ?; _6 j: f
  5. cp Makefile.AP2 Makefile' z1 ?9 }# F6 Z8 O5 ]1 b
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit2 k2 Q! M8 w" h! h
  7. make install
複製代碼
當執行至
make top_dir=/usr/lib64/httpd 時出現錯誤 : No rule to make target '/usr/lib64/httpd/build/special.mk' ,原因是缺少套件「libtool」「httpd-devel」「apr-devel」及「apr」,於是
% {5 p  H7 T' z4 k5 [: ^0 r
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次9 {4 i4 g2 k+ w1 y6 S) N! Q% F
  1. make top_dir=/usr/lib64/httpd+ B& s5 b, n$ U" l2 O# K" O0 p: K
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so
' w( |( t  {; S) y7 u
《3》安裝php-fpm
) U$ T4 {0 y+ A; A. T  h: Zphp-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
" F2 x3 ~, g/ C1 Y9 F* g5 E 環境設定
6 K6 q4 Y. l0 K7 |- ^# w3 v《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd- j( ]) Q$ H/ R: K0 s8 o
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
! U3 q# n8 U. _$ G/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:
- F/ G& \+ G6 `, Y# j
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)
6 J8 B: w, [% r. n4 u. m9 U
  1. <IfModule prefork.c>
    % P: b8 O% Y1 B, E3 B$ e" E" R/ o
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    % H5 k+ G$ ^6 E8 o! o' U# V
  3.   LoadModule php5_module modules/libphp5.so
    5 k* n" f: }5 u6 ~' a( J
  4. </IfModule>
    0 u7 l, a$ F- H8 z" ^
  5. <IfModule worker.c>& G4 H, |# O( N9 k5 ~' u
  6.   LoadModule php5_module modules/libphp5-zts.so
    - ?+ \9 \0 e: u+ X0 z2 F" t7 m
  7. </IfModule>% m2 [$ U8 Q' r+ w7 l2 f
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!7 d' _- V: y% |6 _4 u
複製代碼
《4》設定php-fpm
* a5 g6 Q; Y4 Y1 ~% N0 Q. svi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    ! }5 @5 ?* J6 F1 K3 \& X4 c
  2. listen = /var/run/php-fpm.sock
    / w+ Y# M: H1 M' L5 H' o1 l; \
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock
    ( l3 I3 b: F$ D3 @! w; `; A
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
# v! n& l) i* V+ D
  1. listen = /var/run/php-fpm_av4u.sock2 }3 z3 U% T! j* K9 k2 H3 G7 A7 L
  2. user = kevin
    & ?/ B4 _# }# i6 j3 A5 b, v
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
- |3 p, P: C+ g8 ]7 V$ e重啟httpd      
service httpd reload" V6 I: J' c4 y6 f
結果% B0 e% _! i; J  o
經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................: |9 z. l" U1 ^5 J( a( I
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



中文酷站排行榜

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板| 52AV手機A片王

GMT+8, 2026-5-7 21:21 , Processed in 0.070979 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表