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

 找回密碼
 立即註冊
查看: 1847|回復: 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便擁有9 p& X1 g- i) n
優點# @+ F( Q: l3 o1 R! M, V
❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。
- R; v; m2 y8 D( |# m. N/ s- L* s〖安裝〗:  W- X* \; `0 {6 t, Q  Z
《1》Apache已安裝
" J: h/ M  K& Q& t! Q《2》安裝mod_fastcgi
3 R2 g! X+ W) i; Q- Q) Q
  1. cd /usr/tmp
    / h5 \# @: o; B: w) C" N
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]# Y: T3 Y9 Z$ L
  3. tar -zxvf mod_fastcgi-current.tar.gz( L, m9 Z; ^( J# d
  4. cd mod_fastcgi-2.4.6& ]2 T+ {$ f! \6 z$ y
  5. cp Makefile.AP2 Makefile
    " c! a% V7 |7 _
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit5 E% D& T* ?; M# W) [# N% l9 ?, Q  B# G
  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」,於是
' H7 F8 _# a- w3 Y5 m
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次- E9 f  i0 r4 o( v* N! _
  1. make top_dir=/usr/lib64/httpd
    ! d3 X8 h. [, N% O
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so9 L5 N& V# r, W( N2 R* ~
《3》安裝php-fpm
+ X- S, c6 h0 m8 yphp-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
( C5 n9 o# W3 N( R, Q% }9 p 環境設定
# c2 ?, d" s/ w7 k. m9 F0 {" e《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd( v* ]1 q! V" @1 z3 x+ {
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
4 p2 b8 w1 u7 }% s+ ]  S7 d/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

+ ?9 D9 l6 p& O# y- c& o4 g
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)6 D3 Q' |. e' a; n7 ^$ Z. o1 A
  1. <IfModule prefork.c>
    * j0 x2 G- H) u" W7 |0 R
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    9 s' r2 R8 P8 w4 U
  3.   LoadModule php5_module modules/libphp5.so6 d! s8 m8 g- H% F
  4. </IfModule>
    : l# _4 ~/ v( B) T
  5. <IfModule worker.c>
    8 O, N% c( g, J
  6.   LoadModule php5_module modules/libphp5-zts.so
    0 A5 W; a' X& ~4 _0 w8 {
  7. </IfModule>+ C# s; H# @5 C$ a& n
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!
    8 L8 b, n' X0 q) E& s3 s- G5 q- P
複製代碼
《4》設定php-fpm  G8 ]3 k: z0 b; N2 B% d7 p! D
vi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    4 F* t7 c/ R& @5 z  o
  2. listen = /var/run/php-fpm.sock
    " E9 P+ O! y, k/ D: v6 C
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock% P& t! h7 i" v0 |8 ~
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
1 g! t. J$ ^7 w
  1. listen = /var/run/php-fpm_av4u.sock
    : z5 W: ], d: f( j
  2. user = kevin8 \0 P  j- @# \
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
0 f" F, y$ ]' r& q重啟httpd      
service httpd reload2 t" {8 m5 J+ g$ ]
結果
  I: @' s: r6 ]. F6 d經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................
' I* \% e5 h6 j& G0 X6 S
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-10-29 04:34 , Processed in 0.108292 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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