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

 找回密碼
 立即註冊
查看: 1957|回復: 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便擁有6 T3 b, R, e0 [( y) V
優點
% l) {" j/ j$ o6 p❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。
4 s+ L* c7 I3 ]8 @6 R" x7 X〖安裝〗:
$ y6 ]! z' D4 n《1》Apache已安裝
4 p2 s; j+ D9 a1 l《2》安裝mod_fastcgi
4 K* I: y; U, Z( C
  1. cd /usr/tmp
    5 ?; p; `7 o6 w. {( q+ Q
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]8 d* Z6 h, K0 x, \4 d. P
  3. tar -zxvf mod_fastcgi-current.tar.gz
    ! c/ C8 f5 e8 y8 n" q
  4. cd mod_fastcgi-2.4.6/ L' g9 ?8 w7 e( x6 |' }; p
  5. cp Makefile.AP2 Makefile
    3 W1 y/ ]: I* g7 ?9 y8 N' w  ]
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit
    * d; W; k* K* O% R
  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( g' H, N# G6 M: l8 Z
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次  [& }5 `3 O4 Z2 n" f/ s
  1. make top_dir=/usr/lib64/httpd
    9 J1 R, x" O( Z
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so. D6 B( i- X( d* u8 K
《3》安裝php-fpm
. [+ b' n  y6 o# H4 T- @4 e2 Hphp-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm        `" p2 M$ }8 g
環境設定* X$ U3 q7 T3 U# [  T1 u
《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
2 R$ H7 I8 v/ [7 C
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
$ g8 V6 W, u7 H/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

. a$ @8 W$ h# e- \6 J  V
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)
6 y' z' x3 D! d* @# S
  1. <IfModule prefork.c>5 s2 d2 ?4 Q/ R' ?6 f1 o3 H" u
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    : n' T# L1 F8 m9 n* j
  3.   LoadModule php5_module modules/libphp5.so
      M" B- h) p5 v5 O0 p" }: n7 \' d
  4. </IfModule>% U% B  c# b7 r. ^! `1 U' @5 h
  5. <IfModule worker.c>/ S+ W9 t8 N. ?' t
  6.   LoadModule php5_module modules/libphp5-zts.so
    ! Q5 A2 s3 h# }2 s) I
  7. </IfModule>
    " U8 j2 \5 r! g2 F" K
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!. x8 n& Y! U: C
複製代碼
《4》設定php-fpm) J3 W. M4 q; T& Y( E! i
vi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    / b3 ?0 m8 b* y) L
  2. listen = /var/run/php-fpm.sock' {7 C% D, S& j& l
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock" a- g  l# T4 T9 \# K/ _
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:9 q* o% U7 E" \* T* @# K
  1. listen = /var/run/php-fpm_av4u.sock! {( n5 `- G* ]% e& }$ _
  2. user = kevin
    4 k& @! I1 c" X; ]$ N. z6 o6 N
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
/ s) N% H' Y* ?重啟httpd      
service httpd reload1 E0 ~! N8 C6 q! i( z$ K# Z0 v
結果
0 T7 P; V- F, T& l經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................
& G7 q( E1 t, S' @
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-2-4 06:23 , Processed in 0.079717 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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