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

 找回密碼
 立即註冊
查看: 1854|回復: 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便擁有
& ^. }: }' }# z+ o3 s優點
/ ^  \# l0 x6 n+ A& ~; Z) X6 J❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。5 e$ Y% p, m/ ^; e
〖安裝〗:( B! k( a8 j$ @; g( [- Q) I! Z5 i/ U& A
《1》Apache已安裝4 k9 N- V- b3 t) r, |, ?3 r
《2》安裝mod_fastcgi

  R6 T- `, V& F1 W" o
  1. cd /usr/tmp* W/ ^( T  ^7 f3 c1 s, G( t) [1 |
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]" D, N4 L3 v) m0 J
  3. tar -zxvf mod_fastcgi-current.tar.gz
    " W; @7 d# ~" u% v* V/ n1 P
  4. cd mod_fastcgi-2.4.6; d1 g- q8 M- t+ _2 g1 C8 {
  5. cp Makefile.AP2 Makefile: Q3 F  |2 X+ b/ y- x* ]/ r2 s
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit8 h3 w- r  X" Q
  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」,於是% P' E2 S- z8 K4 _4 \  @7 h
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次$ c9 r, d! u! A8 s9 r
  1. make top_dir=/usr/lib64/httpd1 c( z) ]& K7 x, W9 ~
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so
- _' P9 _9 E- z7 f1 [8 h2 x
《3》安裝php-fpm- k9 r5 J1 o& _, _. q/ _
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      , ?9 |% L6 J  F
環境設定
" E6 A- y, `+ |" E- y. U4 R《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd
/ ?8 R0 w, o# G3 E
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so/ v! X. ^, S( p3 n) _( ~% ]! ^- r4 R
/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:

  y5 H' i. q, |5 m
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)
, G+ s; s1 v' g
  1. <IfModule prefork.c>
    * M; H  i) u* c( l+ M2 U& o4 f  q8 \
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    8 r  f4 B. T; Q, W4 A
  3.   LoadModule php5_module modules/libphp5.so
    6 `* O, j$ e) F  F1 t0 N( E5 l
  4. </IfModule>0 T" G8 c* K+ d" \
  5. <IfModule worker.c>
    1 ?( D9 m  Q' B( q
  6.   LoadModule php5_module modules/libphp5-zts.so  h. z" H; }7 Y/ J  c
  7. </IfModule>
    # P6 C+ E+ U9 E  {4 Z/ U
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!6 i) U  k; S" i' Y) h) K8 }' @+ c9 D9 A
複製代碼
《4》設定php-fpm
6 |- U; }+ D& y4 Y, A/ Pvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:9000
    # v7 y* a3 D- {" h
  2. listen = /var/run/php-fpm.sock7 Q; R2 C7 N) ^+ j4 Q
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock
    $ h, p( F( I  g5 O5 t# t
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:
! l+ ~( Y; h( V/ q
  1. listen = /var/run/php-fpm_av4u.sock
    + F' o( B! x) ]  @8 y& f, J) z
  2. user = kevin* Q. {& ~/ k6 X  \7 R9 a
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
6 V7 r& n4 g+ x# |5 N  C. v- W重啟httpd      
service httpd reload# U& V# |, z* G
結果
7 N0 c! _. l& v- a! |/ O, f4 i經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................# T  x( K. r/ b$ x
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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