サーバ更新の悩み

サーバのシステム更新したいなーと思っているのだけど、問題はマシンの調達だったり。

現在、考えているのはこんな感じなのだ。

1. サーバ更新

ぶっちゃけると現在、この公開サーバに使っているのは小さな安いNUCだ。性能も低いんだけど、発熱も少ないのでそのまま利用している。

で、 lxc を使って必要な機能ごとに子ノードを動かしてる感じ。
処理能力足りないものもあるけど、そういうのは必要に応じてお役ごめんになった古いクライアントを回してる。

これを更新したいのだけど……正直いうと更新したいのはハードウェアというよりソフトウェアだ。
素のLXCでなくLXDベースに移管してユーザ領域で扱いたいんですよ。そのほうが気楽だから。

しかも Deban jessieなので、stretchにするか、いっそUbuntu 18.04serverにするか、どちらかにしたいってのもある。

うーむ。
性能的には前のと同じで全然かまわないんだが……どこかに安価に落ちてないかな。
さて。

[メモ] NanaTerryで作ったアウトラインメモを、OlivineEditorで使いたいときの秘訣

NanaTerryで作ったアウトラインメモを、OlivineEditorで使いたい。
そもそもアウトラインプロセッサの愛用者で、しかもNanaTerryを使い、さらに異種OSも使うなんてユーザーがどれだけいるかわからないけど、自分むけのメモとして置いておく。あとでwikiにも書いておく。

続きを読む [メモ] NanaTerryで作ったアウトラインメモを、OlivineEditorで使いたいときの秘訣

今風の更新チェッカーの話

大昔にwgetを利用したWeb更新チェッカー作ってたんだけど、同じ事を今やろうとしたら大変なのを最近知った。

主に以下の理由なんだよね。

・Ajax使ってるところは素直にとれない。

小説家になろうサイトみたいに素直な構造ならいいけど、世の中そう単純ではないらしい。
これ対策として、以下を実際に試作してみた事がある。

★Windows上でミニマムなダウンローダを作り動作させる。

異種OSで再現に四苦八苦するより、こっちが楽で確実ですわな。
ただし全部Windowsで書くのも面倒なんで、大部分はUNIX likeですませましたんで、
Windowsなのにcygwin+Apacheがいるという妙にクリティカルなシロモノになりましたが ^^;;

1.概要

チェッカーのアクセス部にwebBrowserコンポーネントを使う。
これはIEの部品そのものなんで、あとはレジストリで「うちはIE10ナリ」と言い放ちながらアクセスさせたんですね。

それから、Ajaxなどの対策に、単にロード完了を待つだけでなく、しばらく待機して処理完了を待つ。
(ロード完了は単にダウンロード完了なので、各種プログラムの動作完了にはもう少しかかる。テキストの変更待ちをすればいいみたい)
このあたりは泥臭い処理になるけど、まぁブラウザ対応なんて昔から泥臭いもんですし。
で、あとはそのゲットしたものをあれこれ比較して履歴をとり、更新チェッカーに用いるわけですな。

全体の実装方法は色々あるんですが、制御はRubyでやりました。
これはRubyのユーザスレッドを使いたかったからですね。
Rubyも最近はネイティブスレッドがあるけど、環境問わず類似の結果が得られるユーザスレッドが僕は好きです。

んー、まじめにゼロから作り直そうかな。
でも需要ないよなぁ……。

nginxの設定まとめ。(Web鯖交換しました)

こんな事をしましたよっていうメモですね。

7/6に戻して放置していた Apache->nginx交換を先ほど終えたのですが、
何をやったかをまとめておきます。

まず、 /etc/nginx/sites-available/default 。

[sourcecode language=”plain”]
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
[/sourcecode]

基本的に本サイトは phpがあればいいのだけど、実はそれ以外に小さなcgiも一つだけ動いている。これはメール送信に関するもので、うちあてのメールがそこに送り込まれている。
前回はこれがちゃんと動いてなかったのね。
で、その設定も加える。

[sourcecode language=”plain”]
location /cgi-bin/ {
gzip off;
root /usr/lib;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/lib$fastcgi_script_name;
}
[/sourcecode]

前回動かなかった理由は、ここの設定が間違っていたから。
fcgiwrapper側がUNIX socket前提だったのに、こっちの設定がTCP前提になっていた。で、該当ポートが閉じているので、ああこりゃ違うだろと。
そんなわけで、UNIX socket用の設定に書き換えた。

え?なんでそんなのに二週間かけてたのかって?
そりゃ、休日に家でぽちぽちやっているからですがな。

でも、お仕事でもたぶんあの日は煮詰まってたから、一度頭を冷やしたほうがよかったとは思うのですが。

よくありますよね?「なんでこんな事に気付かなかったんだ orz」っての。

openvz->lxcの移動状況(2014/6/7 am3現在)

現在の進行状況は以下の通り。

# lxc-list
RUNNING
cthulkha
isetta
lovecraft
minecraft
nike
timeserver

#

名称と内容は以下の通り。

cthulkha: クトゥルカ鯖 (imap鯖) メール保管所
isetta: イセッタ鯖 (Web鯖) 本blogの乗っている鯖
lovecraft: ラヴクラフト鯖 (MySQL鯖) 主に本blogのDBが入っている。
minecraft: マインクラフト・マルチプレイ用鯖
nike: ニケ鯖 (bind) ローカルDNS鯖
timeserver: NTP鯖

これらの新規稼働が全て完了。
あとは新HDDが届いたらファイルサーバの設営をする。

openvz->lxcの移動状況(2014/6/6晩)

移動の進行状況です。

1.ddo.jpむけのddns設定の移動完了。

 忘れてたよ……。

2.dns鯖(nike)移動完了。

 問題なく移行しました。

3.MySQL鯖(lovecraft)移動完了。

 TCP接続有効にするの忘れてハマったけど、無事移動しました。

うむ。あとはメールタンクが移動したら、ファイル鯖だけになるぞと。