DNRH-001 サーバ化計画(lighttpd(fastcgi)+geeklog)
DNRH-001のサーバ化計画。
xampp+geeklogでやったら、ローカルからのアクセスですら、1ページ表示に10秒くらい時間がかかった。何が遅いかの切り分けをしてないが、webサーバを軽いと評判のlighttpdにしてみた。また、どうせなのでfast-cgiにした。結果として、1ページ表示が2秒くらいになった。apacheが遅かったのか?(ホントはMySQLのverを変えているので、原因が確定できていない)
【参考URL】
Setting up PHP with Lighttpd
http://redmine.lighttpd.net/wiki/lighttpd/TutorialLighttpdAndPHP
【手順】
(1)lighttpd
1)以下からファイルをダウンロードし、インスコ。
http://en.wlmp-project.net/downloads.php?cat=lighty
LightTPD-1.4.22-1-Win32-SSL.exe
2)lighttpd-inc.confの編集
a)server.modulesにて、mod_fastcgiを有効に設定。(mod_fastcgiの先頭にある#を削除)
b)fastcgi.server = ( ".php" =>( "localhost" =>("host" => "127.0.0.1","port" => 521 )))
(2)PHP
1)以下からファイルをダウンロード。
http://www.php.net/downloads.php
php-5.2.9-2-Win32.zip
2)解凍して、c:\phpに展開。
3)システムのプロパティ-詳細設定-環境変数に、c:\phpを追加。
4)php.ini.distをコピーして、php.iniとする。
5)php.iniを好きなように編集。ただ、最低限、以下はやる必要がある。
・extension_dir の右辺値を有効にする。 例えば extension_dir = "c:\php\ext\"
・extensionで、mbstring/mysql/mcryptをコメントアウト・doc_rootは空にしておく。そうしないと、phpを開くと 「No input file specified.」 になる。
6)php-cgiを起動。
fastcgiにするため、以下のバッチファイルを作成し、スタートアップにいれておいた。
----
c:\php\php-cgi.exe -b 127.0.0.1:521
----
※参考URLでは、PHPプロセスとLighttpdを同時期に起動するために、以下のバッチファイルを用意している。
----
@ECHO OFF
ECHO Starting PHP FastCGI...
RunHiddenConsole.exe ..\PHP\php-cgi.exe -b 127.0.0.1:521
ECHO Starting LightTPD...
ECHO.
lighttpd.exe -v
ECHO.
lighttpd.exe -f conf\lighttpd-srv.conf -m lib
EXIT
----
なお、RunHiddenConsole.exeは、以下からダウンロード可能。
http://blogbuildingu.com/files/RunHiddenConsole.zip
(3)MySQL
1)以下からファイルをダウンロード。
http://dev.mysql.com/downloads/
2)インスコ
Setup Type で Customを選択し、以下を設定してインスコ。
プログラム c:\mysql\
データファイル c:\mysql\datafilesInterface Configuration Wizard
・Detailed Configuration
・Server Machine
・Multifunctional Database
・InnoDB Tablespace Settings デフォルトのまま
・Decision Support (DSS)/OLAP
・Enable TCP/IP Networking
・Best Support For Multilingualism
・Install As Windows Service
Include Bin Directory in Windows PATH
・Modfiy Security Setting※何度か、インスコを繰り返していると、サービス登録エラーになる。その場合、コマンドプロンプトで、以下を実施。
sc delete mysql
http://dev.mysql.com/doc/refman/5.1/ja/windows-troubleshooting.html
(4)FileZilla
1)FileZilla サーバを以下からダウンロード
http://filezilla-project.org/
2)インスコ
FileZilla Server-FileZilla Server Interfaceを実行
Administration passwordを設定メニュー Edit-Usersで、設定用ID/PWを設定
Directoryには、C:\Lighttpdを設定。
3)fileZillaの管理ツール起動。
ユーザgeekadminを作成し、デフォルトフォルダをc:\lighttpdにしておく。(geeklogインスコ時に使う)
(5)geeklog
1)mysqlにgeeklogで使用するDBを作っておく。今回は、"geeklog_db"とした。
mysql>create database geeklog_db;
2) 1)で作ったDBにアクセスするためのユーザ"geekadmin"を作る。xxxxxxには、設定したいパスワードを入力。
mysql> grant all privileges on geeklog_db.* to geekadmin@localhost identified by 'xxxxxx' with grant option;
3)ここから、.netをダウンロードしてインスコ。(Geeklogインストーラで使用するので…)
4)ここから、wkyGeeklogインストーラをダウンロードして起動。設定値は以下のとおり。
・データベースの設定
DBホスト名:xxx.yyy.zzz
DB名: geeklog_db
テーブル接頭子: gl_
DBユーザ名、パスワード: 8)で作ったユーザ
※DBホストはddnsで設定したURL。DB名は7)で作成したデータベース名。
・パス設定
非公開領域の絶対パス: /lighty/geekmng
公開領域の絶対パス: /lighty/htdocs/geeklog
※非公開領域、公開領域の絶対パスにはローカルのパスを設定。"/lighty/geekmng"は"c:\lighty\geekmng"と同じ意味。
・サイト設定は適当
・FTP接続の設定
FTPホスト名:localhost
FTPユーザ名:geekadmin
非公開領域のFTP接続パス:/geekmng/
公開領域のFTP接続パス:/htdocs/geeklog/
※ここには2)で作ったユーザを設定。パスはFTPのデフォルトフォルダ"c:\lighty"からの相対パスを設定。
5)4)で、wkyGeeklogインストーラがuploadを完了すると、geeklogの初期設定画面が表示されるので、それに従って、設定。
これで、おしまい。
その他、DNRH-001サーバ化計画の記事は以下を参照。
http://poxy.cocolog-nifty.com/blog/dnrh001/index.html
| 固定リンク | コメント (0) | トラックバック (0)

