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

 找回密碼
 立即註冊
查看: 1866|回復: 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 B+ u2 P  l2 {6 I4 G0 E8 j
優點/ F- H- k( _/ g: d
❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。* [. E1 t3 Y4 r5 D0 P
〖安裝〗:: Z+ w8 y! `3 Q& N* m( U
《1》Apache已安裝
8 }# d* x' n2 v  x4 p- Y《2》安裝mod_fastcgi
4 B& _! a. i7 L/ `0 B' a2 H
  1. cd /usr/tmp' h2 D9 B& A' D/ q6 U
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]# ?3 c) g, g, i, v# c2 T5 y% k. W
  3. tar -zxvf mod_fastcgi-current.tar.gz
    ! K$ C+ ~" O8 I( k( f
  4. cd mod_fastcgi-2.4.6
    5 b9 F# K. A) w8 g+ @+ ?$ V5 ~
  5. cp Makefile.AP2 Makefile' E* D, C' s& }$ g' a! `  ~
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit: N4 P; I2 c' V9 S9 ]' a3 o
  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" K& j4 C  V6 [
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次
! w% U/ Z! B, B) M) F& ^9 h3 X
  1. make top_dir=/usr/lib64/httpd
    1 i) p1 V3 T) ], j
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so6 K4 ]5 a7 Y1 x3 ?
《3》安裝php-fpm1 ~3 I( Z4 R5 t8 `
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
  e/ s$ W- f" R8 Z8 W2 O4 N& I4 n. Z' p 環境設定
0 s, B( P7 s+ |3 p《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
( D& g' p% i9 h/ [* \
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
( E" S+ c: g7 R: S6 u/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

9 q% d, G# R9 H/ w) m: K0 w
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)+ u. f0 e5 Y" o7 X5 |- R
  1. <IfModule prefork.c>
    ) E3 w$ A! O3 p
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組# F' b7 x( i8 a0 L0 }, o
  3.   LoadModule php5_module modules/libphp5.so! g  }  {' s1 N
  4. </IfModule>) [3 M0 W: \/ E" s" g: W1 C& i/ P  B3 l
  5. <IfModule worker.c>  b7 x" c8 i9 W! k
  6.   LoadModule php5_module modules/libphp5-zts.so
    ; G# e' m+ T6 o9 g+ P
  7. </IfModule>3 k' {6 F# r% q) W) z5 h4 c$ `
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!- t# d, p# F# G$ W6 ]; g. W' r- `5 n3 |
複製代碼
《4》設定php-fpm
  Y3 B. s( t- X8 R& C# c( w5 cvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000; i* z) R; c# T/ W5 T
  2. listen = /var/run/php-fpm.sock
    ' C% s9 H; z& `0 x
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock
    % I+ J1 c: A! |/ y7 A
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
4 y+ m. q7 g! W7 ~6 y- b3 ^; A
  1. listen = /var/run/php-fpm_av4u.sock
    2 f( a& ?; F# q- D" X) i0 v
  2. user = kevin
    5 E! M7 f: H8 V
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start- I8 @- z" B2 i
重啟httpd      
service httpd reload
) @- G+ Q& u3 Y/ ?9 z. J, n( _結果- l; e8 b, i! r# v
經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................4 s0 l0 ]$ x. L1 R+ R
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2025-4-5 13:03 , Processed in 0.107668 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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