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

 找回密碼
 立即註冊
查看: 1958|回復: 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便擁有
2 W$ L1 L& G$ s, a- @優點
" Q! j# L9 e; i7 y❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。/ u" o! J1 }# n" Y$ u( r
〖安裝〗:! C" G0 b& W3 P, d3 w7 D' l0 w
《1》Apache已安裝
8 z' x& |  A/ g  x% G《2》安裝mod_fastcgi
4 _7 H8 h. P. j( ~2 e$ \* `6 _
  1. cd /usr/tmp
    ( j' X" I: @0 b: h2 t9 S
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]
    ( ^- q5 u8 `. N! x3 P2 r& j
  3. tar -zxvf mod_fastcgi-current.tar.gz- ?! D* o1 M; A" ~  e
  4. cd mod_fastcgi-2.4.6
    9 D" u8 X# ~4 D0 P
  5. cp Makefile.AP2 Makefile
    + ?8 L7 ~. O* B
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit
    / g0 P1 H( z0 ]" B: T; @
  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 f# A& W: ~2 z5 G& H# D
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次
3 D3 x9 |6 a6 _5 x
  1. make top_dir=/usr/lib64/httpd6 R( b: f) u& k3 V
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so6 b+ I2 B% o, M( t$ i
《3》安裝php-fpm! D5 ], f) }2 [" F2 n/ d
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
" N! Y) T, P8 j- H2 x, o2 B 環境設定& ^/ C" d# i1 ^' V( S1 B/ g
《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd- M3 H' _& X* P$ F! |$ |7 ~+ Z
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
! K: Z/ W; L1 w  ^/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

0 @2 f1 g1 |$ i# y2 \0 W; ]: r, b
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)
4 C3 v4 I% m6 T  A
  1. <IfModule prefork.c>
    - k' T7 A/ m  D( ]' t( y- ?/ p) g
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組& ^' g# B( f2 A9 c
  3.   LoadModule php5_module modules/libphp5.so
    , V0 R' P" J0 u
  4. </IfModule>; c) B2 `1 Z- v' D- B5 a" ]
  5. <IfModule worker.c>3 P5 a; I5 H2 n; D9 H
  6.   LoadModule php5_module modules/libphp5-zts.so. Q( E+ L- m  q- P, M/ k  Q$ v
  7. </IfModule>
    3 I* V1 O# A  f0 H1 Y# R
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!
    9 k* S$ C" u7 p7 d
複製代碼
《4》設定php-fpm
3 l5 w" y: T  [- I& M$ qvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    ' U' q$ }" u# O# ~" h2 |' S7 A2 s
  2. listen = /var/run/php-fpm.sock
    ) h) e' {* K5 Y" A
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock0 ]7 j# {* n+ V
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:% ?- w5 W- `% c9 K
  1. listen = /var/run/php-fpm_av4u.sock5 }$ N% e* h4 ~3 O; }
  2. user = kevin/ \# i3 Y" q8 q) f2 d- Q
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
: u8 X4 S' b9 d- _# ~3 D/ x! p重啟httpd      
service httpd reload# [% q$ b4 ^# _+ F
結果: g9 b+ t1 d, x" k" o
經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................) b0 c" C' C. |; z- @
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-2-4 08:07 , Processed in 0.072952 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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