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

 找回密碼
 立即註冊
查看: 1853|回復: 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 f9 s9 u& p' p優點
+ {0 j' A5 p5 K/ ]. k& }' {❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。) [+ r* j; O7 T' |$ g5 }
〖安裝〗:* ^6 d8 {- G2 L, P# g" a
《1》Apache已安裝( N% j5 Y5 g' B. F4 \
《2》安裝mod_fastcgi

' M4 C  j% _% c
  1. cd /usr/tmp0 m  G+ E) a7 s6 b9 G
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]
    " o) p) k( G* F
  3. tar -zxvf mod_fastcgi-current.tar.gz
    0 J) B1 ^1 s/ a9 E  u- m8 p. Q, t
  4. cd mod_fastcgi-2.4.6
    8 Q& |. w4 H  C! m. y; n; u  A2 w+ f
  5. cp Makefile.AP2 Makefile
    $ x4 z. d' I9 S8 J5 h0 ^: u
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit
    % F! m( @' @% U0 j2 i
  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」,於是
- V6 G! Q1 N0 a" x; v6 v1 x
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次
2 o' C, \4 J& L3 t4 Z1 Y  B
  1. make top_dir=/usr/lib64/httpd2 a5 c! T1 ]& S& W
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so
0 V& X8 ], h' [$ e9 E
《3》安裝php-fpm
3 T3 n" J  B1 R3 uphp-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
6 q. D: D0 y8 J. ~6 ]6 E 環境設定
/ O  R3 y; k; ?9 n" D6 k《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
9 S1 b; i% x! T! Z8 c
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
: C  n% W. D. y- i; t/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:
5 I0 I5 @/ Z9 G- g. Y
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)2 X1 C, e8 D3 f/ I; I4 o2 S
  1. <IfModule prefork.c>
    - y6 K1 h) i9 v4 D' F6 _$ h  L7 g
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    9 Z+ X( \- ]6 u6 D( M" @
  3.   LoadModule php5_module modules/libphp5.so
    ( m& x' L3 q! P
  4. </IfModule>" V9 p6 N# K+ n, ?  v8 U+ ^( d
  5. <IfModule worker.c>5 D1 e0 u, `. }9 O: \
  6.   LoadModule php5_module modules/libphp5-zts.so( i& K5 U1 D" s6 B; g& Z  Y
  7. </IfModule>/ k7 ^9 k7 M% s4 q" y& y9 \. D6 J
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!
    7 W' V) A, k8 j
複製代碼
《4》設定php-fpm
8 N; G& O0 j0 B( Z- I+ U+ Vvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000+ B. j" w% t( F0 l' H7 V
  2. listen = /var/run/php-fpm.sock
    8 _& @6 h6 n/ j' {5 v  n
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock
    2 P8 P# O5 ^9 c6 F5 R
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
3 ~9 J2 b- ]  S' ?7 v$ x
  1. listen = /var/run/php-fpm_av4u.sock
    ! v- c) W- f) g! W5 n% h+ C
  2. user = kevin
    2 o' o# V$ @4 b7 g6 r7 c
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
2 w7 y3 O- _7 B' n4 H! A重啟httpd      
service httpd reload
' B1 d& ~! w' o4 D6 z結果5 H5 o# p, ^, T5 I( `3 w
經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................( G0 Q* c3 w/ M) l
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-12-25 15:20 , Processed in 0.064471 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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