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

 找回密碼
 立即註冊
查看: 1929|回復: 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便擁有
/ M+ e) G: |' b1 O2 c; N優點5 L1 m$ b/ \2 i
❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。# g1 }5 I* \$ Z
〖安裝〗:
2 [' _  l0 u, w+ x1 n' M《1》Apache已安裝
6 y3 R. g+ F1 Q& n& [4 N. D9 x《2》安裝mod_fastcgi

5 _# y- V0 U- |" V1 p3 G8 h5 H
  1. cd /usr/tmp4 `# e7 t. y# p0 U
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]3 z9 m7 O5 a& c' X' b6 J* Y
  3. tar -zxvf mod_fastcgi-current.tar.gz
    ; O2 U$ E4 d/ H. D8 r4 q: k: `
  4. cd mod_fastcgi-2.4.6/ h; D) u* |& b* h
  5. cp Makefile.AP2 Makefile- R+ R' u# i- ^: B! ~* o% ]
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit0 x5 i3 }) U' M
  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」,於是
, u$ _+ V) n4 I$ I5 ^
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次, m0 a9 H1 Z1 d) c( t1 W
  1. make top_dir=/usr/lib64/httpd" R' j9 D" U, K' v
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so
/ Y6 }+ d5 k6 e; H$ T$ u* ]
《3》安裝php-fpm& Q6 ^& v, ~9 i' }
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      $ R: h- H, s) q: ]
環境設定
' P2 K; s& t# D1 l# b- A9 M/ P《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd% Y$ K* d: L" L4 X3 |- k
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so5 Z& V1 e! A& }4 {- Q
/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:
! N0 K" `4 q2 ?9 k  Z) j
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)
, D2 D0 [0 Y: p$ B2 K6 v
  1. <IfModule prefork.c>0 ?  {' C! G  S! [* K, _, e7 A0 B
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
      O& _! X+ u* n  F6 P# m: K! T( V
  3.   LoadModule php5_module modules/libphp5.so
    1 z5 L/ s1 G  {: {
  4. </IfModule>
    % ?# i: N. @! D7 r4 e8 @3 P# N6 }
  5. <IfModule worker.c>- G5 R, L. u, K: }+ r, P
  6.   LoadModule php5_module modules/libphp5-zts.so
    3 i( k( U& ]) j2 Z0 k7 D/ G% E
  7. </IfModule>
    : R& l; g7 ?/ F' q6 ?$ e, b
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!/ H# V8 {1 B! v: H4 ~
複製代碼
《4》設定php-fpm
) \7 n+ R4 e# i/ {; ^) Q& t5 q# Nvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
      W; [% H# S' R. B
  2. listen = /var/run/php-fpm.sock" D" n( _$ H5 s2 {) ]4 H8 J8 i) ]
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock7 z9 E" p( h+ o1 x' c$ C
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
4 j* H4 c) B2 G/ G; Q
  1. listen = /var/run/php-fpm_av4u.sock& n/ s9 p1 }( M* A4 P+ \
  2. user = kevin' Y% Z! M' n4 Y* q# k& |
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start9 \2 X8 n" c* n* N  A  P3 N
重啟httpd      
service httpd reload
4 f7 S0 U" N; M$ S9 n結果
3 y( i% U) Y6 U3 U  s經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................  N" Y2 I; p% a/ ]) @
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2025-12-6 21:14 , Processed in 0.079214 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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