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

 找回密碼
 立即註冊
查看: 1928|回復: 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/ |! y) ?+ `2 f* T% n. x優點0 h  G8 j8 Y4 ]' Q' [" O
❶記憶體管理、❷以不同身分執行apache(不只有apache),方便網頁空間搬移時 ,網頁經常出現「權限不足」的問題。& \: G& p2 g9 Z4 y5 T# ~" h
〖安裝〗:* X: e8 g+ j  w5 O1 B5 E! h1 Y8 v
《1》Apache已安裝; `. Q# O1 _  u3 @& C# a" c+ k
《2》安裝mod_fastcgi

. ^9 ~# x( p5 r8 q: F5 z
  1. cd /usr/tmp
    7 X4 h! e/ E( C! J: J# O$ A
  2. wget [url]http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz[/url]
    " V9 I% v9 {  d3 R; `, a- y/ m$ e- ]
  3. tar -zxvf mod_fastcgi-current.tar.gz1 K" N/ @* ^5 u5 F1 j
  4. cd mod_fastcgi-2.4.6
    $ ~" M! s; f5 F1 F& Z
  5. cp Makefile.AP2 Makefile: I: }( Q+ L5 c/ z
  6. make top_dir=/usr/lib64/httpd  #我的主機是64bit
    : {( J/ A4 |) r# F3 s3 E
  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」,於是
/ x( X, D1 A5 _+ N& K
  1. yum install libtool httpd-devel apr apr-devel
複製代碼
再執行一次
7 u  m1 \* P4 w# e4 N
  1. make top_dir=/usr/lib64/httpd0 ^' q! ^$ O, n, O/ j( H
  2. make install
複製代碼
若安裝成功 , 應該會在 /usr/lib64/httpd/modules/ 下看見 mod_fastcgi.so4 N) h9 A* `  _
《3》安裝php-fpm  N7 v. f$ t1 [/ S
php-fpm , 直接由 remi(http://www.pigo.idv.tw/archives/242) 安裝 , 例如 yum -–enablerepo=remi install php-fpm      8 Y0 P* t& K9 T& F; F+ A# k0 }* U
環境設定
9 x& y, a0 w9 R- C' ]9 s. h《1》Apache改為worker模式(效率較佳):修改/etc/sysconfig/httpd7 r+ S1 g5 ]  K5 q
  1. <font size="3">#HTTPD=/usr/sbin/httpd.worker    將註解#拿掉</font>
複製代碼
《2》由Apache載入mod_fastcgi.so, x( M! c/ H$ j0 a" N; L9 t. P5 i5 N
/etc/httpd/conf.d/下新增一檔mod_fastcgi.conf,內容:
- j; k& m$ v% r$ N
  1. LoadModule fastcgi_module modules/mod_fastcgi.so
複製代碼
《3》/etc/httpd/conf.d/php.conf 一定要包含以下片段(若無自行增加)( I4 Y1 @' I, y* y
  1. <IfModule prefork.c>
    , d% C$ ^* |! o' B0 T2 G
  2. #根據不同的 PID 模式給予不同的 PHP 運作模組
    * _; Q/ d6 L: @' U% o
  3.   LoadModule php5_module modules/libphp5.so
    8 f$ f2 f( r, K; t  y" j/ }
  4. </IfModule>
    " \9 ~$ J! {& y
  5. <IfModule worker.c>
    - P" Y) I; Z" f3 U, |
  6.   LoadModule php5_module modules/libphp5-zts.so
    * |9 O! h+ s4 q' J$ ^8 H
  7. </IfModule>( U) c- a4 m. ~7 t
  8. AddHandler php5-script .php  #所以副檔名一定要是 .php 結尾!" J+ S9 A, R: d- H0 p: r' \) h
複製代碼
《4》設定php-fpm
$ S0 r2 g! K6 h* [9 Fvi /etc/php-fpm.d/www.conf
  1. ;listen = 127.0.0.1:90009 g' j/ Z- i: f  W4 m( V
  2. listen = /var/run/php-fpm.sock
    / f% b% K# H4 u, x
  3. ; php-fpm 正常啟動會自動產生php-fpm.sock' D3 M' I9 `5 z7 Y, O/ s$ G
複製代碼
並且新增kevin.conf(可copy www.conf),並修改成:- ^: q# V$ U* |& ^* ]
  1. listen = /var/run/php-fpm_av4u.sock
    7 p0 r6 G8 J/ @9 Q2 x* x
  2. user = kevin( F9 f& }) |$ Y: p& O0 _
  3. group = kevin
複製代碼
啟動php-fpm service php-fpm start
+ S/ ~( L" H7 n+ I* M, D, `重啟httpd      
service httpd reload
, j5 k/ Q( }4 ^; }- e" q/ t結果8 M7 o# K9 j/ x4 Z  S  O: f
經測試發現跟之前一樣,仍然有權限不足情形(kevin皆chmod  755),可見仍未成功,決定Apache改成nginx(比較容易),再試.................% d% g. M+ K& H3 G, R% f' r
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2025-12-6 19:30 , Processed in 0.065601 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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