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

 找回密碼
 立即註冊
查看: 1865|回復: 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 ~. n! S) K" R$ |優點; J& V/ H9 Q0 [6 `
❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。- I, b4 L/ D# H* g
〖安裝〗:
% j# W0 r% C& Z9 g) o1 D9 l! X《1》Apache已安裝
2 \' k- S0 {7 s《2》安裝mod_fastcgi

) M) H1 g1 J' m5 }
  1. cd /usr/tmp
    / V9 K/ t, {, x! r5 z1 i
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]
    , i' p: o1 m* m" [* K# G: x
  3. tar -zxvf mod_fastcgi-current.tar.gz
    , N+ Y' P$ P, \( N# i
  4. cd mod_fastcgi-2.4.6& w: }1 f0 F2 D7 p9 A
  5. cp Makefile.AP2 Makefile
    ( V' T4 p8 Z. Q  Y
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit, j* N. F- l- C8 }* `
  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」,於是
  v! ~3 H/ r' v
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次0 M& I0 B+ Z! V5 L! s$ L
  1. make top_dir=/usr/lib64/httpd
    , Q; e* n3 I% l( `! I1 E
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so. k; }! R! x6 c) ?/ A
《3》安裝php-fpm
3 S/ p2 k& j6 j+ Dphp-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      ; ^* b+ y: I; r- h' O' q+ J* t& e
環境設定
  J% Q. n; Q' {* }# P" {4 T) b9 t《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
3 x+ q7 R3 K' f) d; z5 B
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so* p! c7 m" S8 \4 x( a. z; R
/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

6 D; c3 F' A3 E7 d$ r' c
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)3 f) _1 T! ?! Y2 ^3 L( ]7 x8 ?
  1. <IfModule prefork.c>
      B; w) E/ ^. Y
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    4 v8 K) {/ s/ u. c$ n6 i
  3.   LoadModule php5_module modules/libphp5.so
    5 e' G8 c3 d5 E2 X
  4. </IfModule>
    + y3 M& K4 M- _% d% [9 D
  5. <IfModule worker.c>! |5 ?: s- T& P/ ~
  6.   LoadModule php5_module modules/libphp5-zts.so1 e* z1 F, K2 e! J" t
  7. </IfModule>1 u& `1 v8 p6 y- d! ~
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!# f9 i- d! A' o& ^! b" Y8 J
複製代碼
《4》設定php-fpm
7 B2 z8 @# p5 o; @vi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    4 }$ _# g0 S) x& _
  2. listen = /var/run/php-fpm.sock
    3 h  C" S2 d5 d" A: C7 e. |
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock
    4 s7 t# V- T" ]* D
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
0 v9 h, _$ a+ ~( \$ ^# o6 O
  1. listen = /var/run/php-fpm_av4u.sock3 V, v9 J) J% M0 y- H
  2. user = kevin
    $ |. {/ N; l  T, G) K0 U
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start9 s$ `2 \/ G6 d& [
重啟httpd      
service httpd reload) F! U& \# v: G+ d* C. |
結果
5 i: J2 a2 P0 [+ ?經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試................., ]+ U3 @- `) u! h
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2025-4-4 20:40 , Processed in 0.070179 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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