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

 找回密碼
 立即註冊
查看: 1973|回復: 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便擁有% p. ^( l2 l8 L, b0 {! J
優點
8 i9 B/ r+ V# F) |❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。
/ O8 Q, q# n+ @+ {〖安裝〗:
6 E& Y/ S- Y4 h《1》Apache已安裝
( s& `& J, _9 x! y《2》安裝mod_fastcgi
, D4 X; x8 T, H! W8 A" L
  1. cd /usr/tmp
    2 N, ~, U1 F9 l: O
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]! \- d! V+ D* g8 Z8 \, E1 E
  3. tar -zxvf mod_fastcgi-current.tar.gz& D( x3 ~9 S( y( U, R
  4. cd mod_fastcgi-2.4.6
    & E+ Z7 B% E+ T4 x. K
  5. cp Makefile.AP2 Makefile
    : z9 m6 _" h9 A# Y( b( X
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit
    ! S% h! Z; b3 R7 x
  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」,於是0 u5 f/ P$ g, W- B; ?0 @
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次* T2 ]1 e4 A* ]% {" ^/ A3 x
  1. make top_dir=/usr/lib64/httpd# \- Z7 i, j, M2 q+ a
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so/ @- ]2 M& i6 R( z0 d& P" \" C
《3》安裝php-fpm4 p1 Q- A8 I/ {& J  |( P- u7 `
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      
$ q3 N& f/ ~5 S8 d 環境設定0 e1 [% u* r* X2 _7 F# N+ C
《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd! o4 [, F) p& n! I% B
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so
: L5 u- H5 z+ J/ S/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

  Q& ~7 h; J3 F' R) X! m- l  e
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加). F1 s. ?. |5 M
  1. <IfModule prefork.c>
    3 a3 J* c6 Z) `% I+ a
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組( d3 l# N- M8 H+ O9 A
  3.   LoadModule php5_module modules/libphp5.so) w5 h- I1 }5 Y( z
  4. </IfModule># u$ y! y) |2 [- r
  5. <IfModule worker.c>, l1 U, C7 z" Q2 s8 X4 J( K
  6.   LoadModule php5_module modules/libphp5-zts.so
    8 ^3 Z9 w/ U3 W
  7. </IfModule>
    ( ^8 E- _& d  e5 q- q8 O
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!. k1 ^4 z: J4 X! S
複製代碼
《4》設定php-fpm
3 q, v3 `' A) o) U6 Q8 rvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    ) e( }0 P( m; C9 K3 X
  2. listen = /var/run/php-fpm.sock
    % b# p3 t) w: Q) P3 H+ y  U# C
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock6 g( \' ~. X/ `0 n9 W1 m
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
- F% S: e' {/ q. S( L( p1 q
  1. listen = /var/run/php-fpm_av4u.sock
    ; w2 G0 `$ F) a( ]$ n8 e9 `2 p$ z
  2. user = kevin1 i1 v2 ~" m8 G5 M# [) V" m7 C) E
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start, ^- v( }7 l0 k' v, T
重啟httpd      
service httpd reload7 s6 Q( ~! Q& g+ I5 m
結果- q- R$ D# o! _$ I& [
經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................
* v7 o; V# ?& {) V! [
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-3-24 14:34 , Processed in 0.077334 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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