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

 找回密碼
 立即註冊
查看: 1848|回復: 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便擁有0 G0 C8 l1 _7 J' V. Y$ d& T; _& k
優點
1 r; N9 @; R6 G" G3 I# D❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。
9 f  Q( O( y# {6 _9 Y% u7 i7 A: n  N〖安裝〗:0 ^4 v& F6 Y2 P. h9 ]; N% i. B
《1》Apache已安裝4 C+ `6 Z: M5 K$ Q1 C# Z5 ^8 n0 ^
《2》安裝mod_fastcgi
' ^  w+ Q7 w  x: v
  1. cd /usr/tmp
    , Z& \% ~, i4 C! Y
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]$ k3 T& G- C6 ]" K" X% i
  3. tar -zxvf mod_fastcgi-current.tar.gz
    0 D7 V* {. y- L. L' Q
  4. cd mod_fastcgi-2.4.60 C" d4 D3 b& q
  5. cp Makefile.AP2 Makefile
    ( s( W9 ]& p; C2 f2 s
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit; c. l$ U. a. A' C: [
  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」,於是
2 E& C1 ~5 M4 k$ r( A, Z4 \/ Y
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次
, D' r: y% y* l1 V. a5 W" i
  1. make top_dir=/usr/lib64/httpd7 k4 G" D, f- g4 J& Z/ J/ h) b
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so
& Y' O$ r8 D6 K- e. n+ I' m2 ?
《3》安裝php-fpm  c8 V2 n3 Z3 b
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
2 a' ^% N( a; T6 ^0 ]7 S6 B 環境設定
2 z# h9 |: ~* L《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
, E9 D/ J; K% |. I5 M+ A
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
* K4 w' q$ {7 G7 z% d* J9 A/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:
. d# ]6 u8 g. W6 y, Q
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)& C3 ]$ S, S0 X9 }! K: J' Z  d
  1. <IfModule prefork.c>" @$ f' _% |: N$ ?& E+ E
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    9 K6 r" v3 f: K6 |/ ?
  3.   LoadModule php5_module modules/libphp5.so
    ( u7 X# R5 \7 Z5 z2 ]
  4. </IfModule>
    % k& G6 |+ Z8 |' o; g' _3 b
  5. <IfModule worker.c>
    ! Z8 N- B8 R2 |- A( W4 N: S; V
  6.   LoadModule php5_module modules/libphp5-zts.so
    4 L4 g% I8 i/ _0 s1 q: q
  7. </IfModule>0 g" i0 {! T+ n0 @6 N' Q& I
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!
    ! x9 ~" S+ p$ k! S
複製代碼
《4》設定php-fpm
* j( Y& {2 u# `# }vi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:90005 w. R' I! t6 N' e
  2. listen = /var/run/php-fpm.sock) r+ I- W. h2 A+ \4 s/ I8 K7 {
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock
    1 C: Q& d+ T; h( e+ m9 m' y( e
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
" P# s. t7 n( j
  1. listen = /var/run/php-fpm_av4u.sock: u4 e* n  S; J5 s' n& ~5 A! ?
  2. user = kevin* G: P6 C( k) z, D6 s1 U
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start0 g6 N. |, R) i
重啟httpd      
service httpd reload
4 |- h' S2 Y" D2 T" ^! g結果
: z7 L/ i2 a4 ~% y2 k" V" }+ c經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................5 r' W/ e7 w$ s& {; h- u$ Z# C; D
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-10-29 04:36 , Processed in 0.092090 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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