久しぶりにapache2とか触るなぁ
fastcgi的なものっていくつかあったと思ってzypperで探してみたら、いっぱいでてきた。
S | Name | Summary | Type |
---|---|---|---|
FastCGI | A Scalable, Open Extension to CGI | package | |
FastCGI-devel | A scalable, open extension to CGI | package | |
apache2-mod_fcgid | Alternative FastCGI module for Apache2 | package | |
apache2-mod_scgi | Apache module named mod_scgi that implements the client side of the protocol. | package | |
namazu-cgi | a CGI interface for Namazu | package | |
nut-cgi | Network UPS Tools Web Server Support (UPS Status Pages) | package | |
perl-CGI-Application | Framework for building reusable web-applications | package | |
perl-CGI-Session | Persistent session data in CGI applications | package | |
perl-CGI-Simple | A Simple totally OO CGI interface that is CGI.pm compliant | package | |
perl-FastCGI | A scalable, open extension to CGI | package | |
php5-fastcgi | FastCGI PHP5 Module | package | |
python-fcgi | Python FastCGI Module | package | |
python-scgi | Python implementation of the SCGI protocol. | package | |
ruby-fcgi | FastCGI bindings for ruby | package | |
spawn-fcgi | Spawn FastCGI applications independent of the webserver | package |
マホー。とりあえずふつうのfastcgi的なものでいいので…ってことで、apache2-mod_fcgidに目を付ける。zypperで情報をみてみた。なんか、kick out the corrupt fastcgi server as soon as possibleとかかいてあって穏やかじゃないが、別に穏やかである必要もないのでこいつを入れてみることにする。
bounoki@phorni:/srv/www/cgi-bin/fswiki> zypper info apache2-mod_fcgid Loading repository data... Reading installed packages... Information for package apache2-mod_fcgid: Repository: openSUSE-11.2-Oss Name: apache2-mod_fcgid Version: 2.2-97.1 Arch: i586 Vendor: openSUSE Installed: No Status: not installed Installed Size: 150.0 KiB Summary: Alternative FastCGI module for Apache2 Description: What is mod_fcgid? It is a binary compatibility alternative to Apache module mod_fastcgi. mod_fcgid has a new process management strategy, which concentrates on reducing the number of fastcgi server, and kick out the corrupt fastcgi server as soon as possible. To load the module into Apache, run the command "a2enmod fcgid" as root. See /etc/apache2/conf.d/mod_fcgid.conf and /usr/share/doc/packages/apache2-mod_fcgid for configuration. Authors:
-
-
-
-
-
-
- -
-
-
-
-
-
/etc/apache2/conf.d/mod_fcgid.conf とかいうファイルができたようなので、あとはこいつをみながら.fcgiをfcgid-scriptで動かすようにしてやればいいんだな(ってすでになっていますが)。そういえば研修で、IfModuleみたいにどう動くか一意にならんものは使うな、期待したとおりに動かないならエラー吐いて落ちるようにしろと教わったんで、常時評価されるようにコメントアウトしとこう。
んで、ただ闇雲にapache2起動するとSocketPathなんてネェよ!とぶち切れられるので、loadmoduleの設定してみて、それでもだめならこのへんみてがんばって解決します。
手元のopenSUSE11.2では /etc/apache2/sysconfig.d/loadmodule.conf ってのがありますが、開いてみると「このファイルは自動生成されているよ、/etc/sysconfig/apache2にリストされてるよ。」と生暖かく書いてありました。sysconfig/apache2のAPACHE_MODULESに"mod_fcgid"って書けばいいんすかね。
openSUSE11.2にiscsi enterprise targetを
openSUSE11.2にiscsi enterprise targetを入れて、Vistaのinitiatorから接続。CrystalDiskMarkで性能を見てみた。構成はこんな感じ。
[Vista PC]======[1Gスイッチハブ]======[openSUSE]-------[外付けRAID] Cat6 Cat6 eSATA
そしたらこんな感じだった。ローカルのHDDが55〜60MB/sなので、そこそこの性能。Sequential Readにて、ボトルネックに近いところはopenSUSEのCPU、90%くらい使ってた。VistaのIFはタスクマネージャから25%くらいだった。外付けRAIDは1.5Gbpsのやつ。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bashのプロンプトを変更する
お疲れ様ですmotieです。とても長い日本語のディレクトリを掘ったら(掘ってあったのをOpenSUSE上にインポートしたら)そのディレクトリに入った時に右端が切れて見にくい。というわけでワークディレクトリしか表示されないように変更する。
プロンプトは$PS1っていう環境変数に入っているので、loginshellがbashな人は~/.bashrcとかに$PS1を上書きするように書いてやればいい。
以下のように変更してみた。
#\n\u@\h:\w> export PS1="\n\u@\h:[\W]>"
あとはドット実行して適用。
motie@dorotea:~>. .bashrc motie@dorotea:[~]>
現在のワークディレクトリを見たかったらpwdと打たないといけないけど、僕の場合はいつも表示内容なんか意識しちゃいないので手間は増えないな。
Cisco Feature Navigator
ここからたどれた。今のところ確認する要件無いけど。
tabの変わりにスペースを入れたい
tabの変わりにスペースを入れたいことなんてザラにあるとおもう。でも「tabキーが押されたら全部スペースにする」みたいにしてしまうと、tabが欲しいときに入れられなくなっちゃう。
そこでちょっと調べ物をしていたらいい方法*1。を発見。「タブの気持ちで半角スペース」tab分の半角スペースを入れてくれる。
せっかくなのでShift+Tabとかにバインドさせてみようと思ったらこれが思い通りに行かないらしく、また調べてたらいい方法*2が紹介されていた。これはShift+TabをF20が押されたことにして、F20をglobal-set-keyで指定して処理してやるという方法。
;;; タブの気持ちで半角スペース改 (set-extended-key-translate-table exkey-S-tab #\F20) (defun insert-space-like-tab () (interactive) (let ((tab (tab-columns (selected-buffer)))) (insert " " (- tab (mod (current-column) tab))))) (global-set-key #\F20 'insert-space-like-tab)