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

 找回密碼
 立即註冊
查看: 1970|回復: 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便擁有5 ]! r* O7 p5 f! D3 @; {) N
優點
9 n6 w- p- j4 J# F  h& S0 |2 U+ a❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。
! L1 o/ e% D5 c9 m' l( ?〖安裝〗:1 N& e( b0 _! W9 @/ W( |! T
《1》Apache已安裝
+ _8 ^, L& k& L) [% s) F# Z* Y  F《2》安裝mod_fastcgi

( e/ ?& ^' u9 [: ?3 m
  1. cd /usr/tmp
    . p3 w" o4 T  ?& X0 n0 |1 Z' |
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]2 W+ o8 Q+ L0 s* [( h- n
  3. tar -zxvf mod_fastcgi-current.tar.gz2 h/ ?* w9 P2 c4 }7 N
  4. cd mod_fastcgi-2.4.6
    7 @% J# h  A3 E+ d/ ~: B/ E/ H5 x
  5. cp Makefile.AP2 Makefile
    8 f0 h+ |- C1 ?/ X8 ?' f
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit
    & T: e( O  X% U) x( e; s6 @( B. A
  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」,於是" ]6 l' Q5 f" ]6 w: N: {
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次
" m5 R& v% ?2 w8 Z
  1. make top_dir=/usr/lib64/httpd5 y/ e9 }+ d* s4 A
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so2 ~( i8 z) D5 T
《3》安裝php-fpm
3 G4 p4 C& g! N7 {. T" E( kphp-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
5 q; q; J1 J$ \! T: M" _- V 環境設定# V. n! \# c- h* [8 S  N# z9 {; s8 c
《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
/ }: X# |& k( f' k" A% K
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so4 a! @/ E5 b8 E
/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

& r8 E' A% t  l" k. A
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)! H2 n$ I% Q) a) F7 ]5 D
  1. <IfModule prefork.c># V: ?; V# a0 c' y' i2 u7 \
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組, Y; `0 o/ N8 g& [/ {
  3.   LoadModule php5_module modules/libphp5.so
      B! N- E5 x; P5 G
  4. </IfModule>' o& K+ d; {  v
  5. <IfModule worker.c>
    & t( A/ |) s6 k6 A
  6.   LoadModule php5_module modules/libphp5-zts.so
    4 _# E2 P9 B; |3 @1 k  `5 j
  7. </IfModule>
    # p, H# g" Z/ K3 e( W3 \/ u
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!1 p5 d' s' b& |' _
複製代碼
《4》設定php-fpm+ _$ l3 F& P2 M4 A* m1 a
vi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    2 `% W( ]% K/ |* e" l: F& S1 t
  2. listen = /var/run/php-fpm.sock
    - T& K% g: z8 l# X, Q$ p9 u; T: E) C# ]
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock  c; m6 o/ o+ Q! S
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
: H' F7 r. W* [/ e3 q
  1. listen = /var/run/php-fpm_av4u.sock$ o( U9 b' T. e% H
  2. user = kevin
    1 _8 T. L+ H1 [  m3 Q0 n
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
. ]( E& G3 r: P( c) |重啟httpd      
service httpd reload3 R# {" K9 M5 a2 S0 H% u+ t! @
結果
/ o; X! a/ ^3 }5 D; C經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................
8 i% t% G) l+ N# r8 \: l- K
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-3-23 18:29 , Processed in 0.087779 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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