Archive

Posts Tagged ‘apache’

php-cgiをFastCGIで動かす

8月 22nd, 2009

先日からPHPをCGIとして動かしていますが、せっかくなのでFastCGIの設定までやることにしました
FastCGIとは、CGIのプロセスをメモリ上に残しておくことで起動の遅いCGIプロセスを高速に実行出来るようにするCGIの動作仕様の1つです
FastCGI - Wikipedia

今回は解説サイトに従って簡単に設定出来ました
参考にしたのはこちら
Apache/FastCGI - Linux Tips
なんとなくfastcgiよりfcgidのほうが良さそうだったのでfcgidを入れました

必要なかった手順もあるので簡単にまとめておきます
Debian lennyの場合

BASH:
  1. # aptitude install libapache2-mod-fcgid
  2. # a2enmod fcgid
  3. # vim /etc/apache2/sites-available/your-profile
  4. -------------------------------------------------------------
  5. PHPを使用するVirtualHostの設定ごとに以下を追記
  6. <IfModule mod_fcgid.c>
  7.     AddHandler fcgid-script .php
  8.     <Directory "/path-to-your-php-script-dir">
  9.         FCGIWrapper /usr/bin/php-cgi .php
  10.  
  11.         Options +ExecCGI
  12.         AllowOverride All
  13.         Order allow,deny
  14.         Allow from all
  15.     </Directory>
  16. </IfModule>
  17. -------------------------------------------------------------
  18. # /etc/init.d/apache2 restart

ps ax | grep php-cgi
としてプロセスが存在すれば多分有効になっているんじゃなかろうか
#fcgid入れる前に試してないので良くわからない;

,

PHPをCGIモードで動かす

8月 22nd, 2009

何でこんなことになったのか…

ふとML115のApache2を見ると、それはpreforkだった
preforkはシングルスレッドで動作するモードだ
マルチスレッドの方がパフォーマンスいいんだからそっちを入れよう!
マルチスレッドに対応しているのはworkerなのだが、これにmod-phpが対応していないらしく、
workerを入れたらpreforkと一緒にmod-phpが消されてPHPが動かなくなった
かくして、仕方なくphp-cgiの設定をする羽目になったのである
ネットを彷徨っても断片的な設定しかなく、本当に辛かった
とりあえず自分が設定した内容をまとめておく

更新中は500エラーを返すなど、酷いことになっていたかと思います
申し訳ございませんでした

Debian lennyの場合

BASH:
  1. # aptitude install php5-cgi apache2-mpm-worker
  2. # a2enmod cgid
  3. # a2enmod actions
  4. # vim /etc/apache2/conf.d/php-cgi.conf
  5. --------------------------------------------------------
  6. 下記内容で保存
  7. <IfModule modactions.c>
  8.   Action application/x-httpd-php /cgi-bin/php5
  9. </IfModule>
  10. --------------------------------------------------------
  11.  
  12. ここまでの作業は
  13. # gunzip /usr/share/doc/php5-cgi/README.Debian.gz
  14. # less /usr/share/doc/php5-cgi/README.Debian
  15. の内容を参照されたし
  16.  
  17. # vim /etc/apache2/sites-available/your-profile
  18. --------------------------------------------------------
  19. <VirtualHost *80>
  20. ~省略~
  21. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  22. <Directory "/usr/lib/cgi-bin">
  23.   AllowOverride None
  24.   Options ExecCGI -MultiViews +FollowSymLinks
  25.   Order allow,deny
  26.   Allow from all
  27. </Directory>
  28. </VirtualHost>
  29. --------------------------------------------------------
  30. # /etc/init.d/apache2 restart

疲れた

,

macportsでapache2を入れたらDocumentRootが分からなくて困った

7月 22nd, 2009

てっきり
/Library/WebServer/Documents
だと思ったら全然違った;
そもそも設定ファイルが/etcになかった
macportsで入れたものは全て/opt以下に入るということを先輩に教えてもらっていたのに、すっかり忘れていた…
macportsだとデフォルトで
ServerRoot "/opt/local/apache2"
DocumentRoot "/opt/local/apache2/htdocs"
設定ファイルは/opt/local/apache2/conf以下に入ってます

というかLeopardなら最初からapache2入ってたし、そっち使えばよかったかな…

,

mod_deflateを用いたApacheパフォーマンスチューニング

7月 1st, 2009

@IT:mod_deflateによるコンテンツの圧縮転送(1/3)

こちらを参考に夜な夜な設定してみました
まずはmod_deflateを有効にする
#CentOS5.3でyumから入れたらデフォルトで有効でした

そして<Directory>ディレクティブなんかで
# deflate enable
SetOutputFilter DEFLATE
# deflate level 1-9
DeflateCompressionLevel 5

の2行を最低書けば有効になります

チェックはAnalysis Tools for Your Siteから
上段のhttpzipにURLを入れるとチェックできます

圧縮はある程度CPUを消費するので、アクセスの非常に多いサイトで導入すると逆効果になる可能性もあるようです
#その場合はネットワーク負荷とのトレードオフ

新ドメイン設定完了

4月 26th, 2009

リダイレクトの設定が完了しました
新ドメインはhttp://yusukezzz.net/です
サブドメイン(blog.yusukezzz.netみたいなの)は設定するかどうしようか悩み中です(かなり面倒くさそう…)
今のところドメイン名部分が変わっただけなので表示に問題はないと思いますが、
手入力で直さなければならないところも多少あったと思うので、もしリンク切れがあったら連絡を頂けると助かります

今回のリダイレクトはyusukezzz.dyndns.orgのvirtualhost設定に以下のように書きました

TEXT:
  1. Redirect permanent / http://yusukezzz.net/

後はyusukezzz.netのvirtualhost設定を用意(コピーして微修正)すれば完了です