サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
donbulinux.hatenadiary.org
なんでさ! はい基本情報チェーック 利用しているデータベースは全体で 2Gbyte ちょっとあって、MySQL Cluster (7.2.17) で動いてる。is full って文句を言われた時に実行してたクエリはぼかすけどこんなん。 mysql> mysql> UPDATE tablename SET column1 = '' WHERE 〜〜〜 LIMIT 20000; ERROR 1114 (HY000): The table 'tablename' is full 特定の箇所を全部うめるとかいうあれ、二万件毎を処理してた。 ググる 大正義。 MySQL Clusterでエラーが出た場合の対処 · GitHub 原因はなんだ? オンメモリデータベースなのと、直近の ndb_mgmd.log から「Datamemory Usage 80%」を超えてたので、あー容量たりねえのかな?と思っ
CentOS 6 に Apache+Passenger 5+Ruby 2.1 な環境構築して(その話はまたこんど書きます)たんだけど、途中で passenger-config restart-app してもホストが何も認識されてなくて「おろ?」ってなった話。要は Passenger はどのタイミングで VirtualHost が Rails アプリケーションだと理解するのか。 結論から書くと、Apache のプロセス起動したあとドメイン経由で初回アクセスした時。 ロケ地:お名前,com@VPS どうなんの? httpd.conf は以下のように VirtualHost が2つ書いてあるとする。 <VirtualHost *:80> DocumentRoot /var/www/sashimi.example.com/public ServerName sashimi.example.com
ぷーどる君まじ……、SSLv3まーじ。 SSLv3 にまつわる CVE-2014-3566 ( POODLE ) まわり IE6 はデフォルトで ( SSLv2 もかな? ) SSLv3 を使う設定になっており、TLSv1 にはチェックが入ってないはずなので、SSLv3 を無効化したサーバ、もしくは Ruby 2.1.4 Ruby 2.0.0-p594 Ruby 1.9.3-p550 以降のバージョンを利用する場合、直接 https で通信するサーバは明示的に回避策を仕込まない限り、デフォルト設定の IE6 環境からアクセスできなくなる。 どうしても通信したければ、パッチを仕込んで回避するか Pound のようなリバースプロキシで SSL を受けてやって、サーバ内部の通信は http で実施するとかにしたほうがいいやもしれぬがそれは結局いみなくね?要検証。 参考:ext/openssl の
よく分からない実装でござ。 config/secret.yml が存在しない( 動作させたい対象 RAILS_ENV に相当する secret_key_base が存在しない )場合 rails s で召喚した rack server は、「Internal Server Error: secret.yml がないヨー」って言ってくる ( デーモン化せずに起動した場合、標準出力にも secret.yml が無いとエラー出力される) Passenger with Apache2 では「Internal Server Error: error.log になんか CGI が動かない時の正体不明のログが出力されておわり」( production.log まで到達しない) となるんだけど、まあ Passenger の方がとにかく 500 エラーなの!ぷんすこ!って怒るのは将来のバージョンで治るんかな
運用してるサービスで出た、初めて遭遇しましたよ〜。運用構成は Nginx + Unicorn + Rails 3.2 + MySQL Cluster となっております。いつものシステムですね。問題が発生したこのサーバのスペックが、クライアントがけちだったので予算が全然出てなくて、しょっぼいしょっぼいサーバだったので、稼働済みの同様の構成のサーバでは発生しなかったのですが、今回のサーバで初めて発生しました。 参考:nginx upstream prematurely closed connection 参考に対する回答:Re: nginx upstream prematurely closed connection 問題が起きた時の該当のサーバのメモリ状況。 [root@localhost ~]# free -m total used free shared buffers cached M
させたい、させる(迫真)。 https も http も通信させたい Nginx の server 句内を以下のように記述する。 listen 80; listen 443 ssl; server_name ssl.example.com; charset utf-8; access_log /var/log/nginx/ssl.example.com.nginx_access.log deflate; ssl_certificate /etc/nginx/ssl_certfile/ssl.example.com.cert; ssl_certificate_key /etc/nginx/ssl_certfile/ssl.example.com.key; https も http も利用可能になる、わりとざるな設定。 https だけ通信させたい Nginx の server 句内に以下のよ
CIFS マウント(Windows と Linux でのファイル共有)の仕方と暫定まとめワイ版。 ※以前書いた記事を編集しました。 過去書いた記事(スルーしておk) CentOS 5 以降の smbfs マウント - ARCHIVESDRIVE HD NAS 領域の CIFS をアンマウントした時の動作 - ARCHIVESDRIVE HD CIFS について Windowsのファイル共有サービスで利用されているプロトコルの「SMB」を拡張し、Windows以外のOSやアプリケーションソフトでも利用できるよう仕様を公開したもの。 http://e-words.jp/w/CIFS.html ということで、ザルですがに SMB≒CIFS という認識でもいいでしょう。ただし混同するからには、ちゃんと仕様を把握していないと大変な間違いの元になりますね。 CIFS のマウント方法について 基本的にマ
作業費半人日以下だったか、そもそも無料だったか忘れたけど、メールサーバを立てろとか言われて作業したら ftp 鯖もとか web 鯖も!とか ftp はアクセスしたルートディレクトリが document_root になってない!とか文句いわれまくって相当ビキビキしながら作業したの鯖が spam の踏み台にされてました。なお初期構築作業だけで、保守とかいらねえよ黙れみたいな感じだった。 お金ないから postfix には SSL 証明書いれないもん!とかむちゃくちゃ言ってたはずなので、正直聞いた時はざまあwwwwwwみたいな感想しか出ませんでした、なんで皆月額保守費ケチって信用を失うんだろう?5万10万出せって言ってるわけじゃねーのになあ。安くしたいなら gmail でも使えばいいじゃない。 愚痴ここまで。 postfix 乗られた!どうする? まずサービスを止めましょう。 [root@loc
2013/8/2 【速報】やっぱだめだった、この箇所実装した人どういう意図で作ったんだ……。 VPN 越しにウェブサーバにアクセスする環境で、Remote_Addr・X-Forwarded-For それぞれ HTTP のヘッダに値が入ってるのに、Rails のログは全て 127.0.0.1 からのアクセスです!とか言い出す事案。ウェブ兼 API サーバとしてリリースしてて、構築終わってひと月以上たってから、担当のコーダに「これ(API のアクセス)全部 127.0.0.1 で Allow して対応してんだけど、(セキュリティ的に)まずいんじゃねーの?」とか言われて死にたくなった。そういう事はもっと早く言え頼むから。 というわけで、このへんを見て、開発室の暫定CTO()も巻き込んでみた結果。 ActionDispatch::RemoteIp::GetIp Proxyサーバーの有無にかかわらず
にこつべでよく上がってるブラクラ踏んでからの正拳突きでディスプレイ貫通させる彼は波紋の使い手なんじゃねーかな…。 レンタルサーバ屋で VPS を借りたらホスト名が「localhost」になってて、事前に登録したドメイン名とかまったく意味ないですね…、とぐったりしちゃう感じだったので、サーバのホスト名を「localhost」から変更しましょう。 変更した時に出る不具合もどうにかしちゃうよ。 [root@localhost ~] とか uname -a で、ところどころに localhost と出るのを治す。 これは対処療法的な方法なら、これだけでいいはず。 [root@localhost ~]# hostname www.DOMAIN.com こうすると、uname -a とかでホスト名が、「Linux www.DOMAIN.com なんとかかんとか」になります。 SSH 等で接続してるシェ
いつものように「ロケ地: Serversman@VPS 」に、git インストールしたよ。 # cd /usr/local/src # wget http://git-core.googlecode.com/files/git-1.7.7.tar.gz # tar -xzvf git-1.7.7.tar.gz # cd git-1.7.7 # ./configure --prefix=/usr/local/ # make # make installprefix は指定しないと /usr になるっぽいよ? ちなみに make するときにこんなエラーが出たよ。 SUBDIR git-gui GITGUI_VERSION = 0.14.0 * new locations or Tcl/Tk interpreter GEN git-gui INDEX lib/ * tclsh failed; u
MySQL Cluster (7.1.19 ->) 7.2.5 でウェブサービスのプロダクション運用初めてひと月経過したんで、それぞれの感想を書いてみたと思います。 実際の運用環境 ハードウェアロードバランサの直下に Nginx を立てて、その下で Unicorn が動いてる。ちなみに Rails 3.2 で構築してます。Nginx から Rails までを一台のウェブサーバにして、二台構成でロードバランサが等倍バランシングしてる。んで SQL node と MGMD node もその中に同居させてそれぞれ一台ずつ立てて、localhost:3306 で参照してる。 その下に更に二台別鯖として NDB node 立ててる、合計四台構成です。ちなみにこの鯖は、CPU 16core 32thread のうえ、物理メモリ 128Gbyte とか頭おかしい構成なんだけど、メモリこんないらんかった。
タイトルで言いたいことが大体伝わっちゃう系 RDBMS の MySQL ちゃんです。 ことのはじまり 一つ前のエントリ「MySQL Cluster 環境で LIKE 検索が仕事してない」に書いたように、LIKE 検索で UTF-8 のマルチバイトカラムが検索結果に反映されてこないのが原因で、運用に入ってた MySQL Cluster 7.1.19 をアップデートしようとしたんじゃよ。 ロケ地:会社のサーバ(CentOS 6.2 64bit) どーなった 30 Jan 2012 – 16.7.2.1. Changes in MySQL Cluster NDB 7.1.20 (5.1.61-ndb-7.1.20) (Not yet released) ぐわああああああ!(悲鳴) ※http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-news
conifgure とか書いちゃうタイプの僕です。 普段 RVM しか使わなくなってしまい、本番サーバも用意することがめっきりなくなったので忘れていましたが、Ruby 1.9.3 がリリースされていたので、RVM にインストールするのとあわせて、gitlab 用に一台立てた所、警告がでるようになってしまいました。 It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.放置しても解決することではないので、指示の通り libyaml を導入して片付けてしまいましょう。 # wget http://pyyaml.org/download/libyaml/yaml-0.1
今月号の WEB+DB Press を買ったら Silex なる聞き覚えのない単語があったので調べる君したところ、Symfony2 の作者さんがメンテしてる PHP の軽量フレームワーク ( Sinatra 風? ) じゃないですかやったー!という訳で、公式には Apache ならこうしろよ!ってコンフィグ載せてくれてたけど、Nginx は書いてなかったので、試してみた。 ロケ地:Serversman@VPS CentOS 5.7 64bit Nginx 1.0.0 参考:http://silex-users-jp.phper.jp/ Nginx で PHP を実行しましょう 割愛。あとで別途書こうと思いますが、Nginx に FastCGI サポートのコンパイルオプションつけてインストールしてください。FastCGI 経由で php を起動できるようにしておきます。 起動できましたか?で
Nginx 1.0.0 が出てたので、Nginx 入門を読みながらインストールしてみた。 ※ロケ地:Serversman@VPS めんどくさい人向けにインストール時に利用したコマンド一覧 # yum install openssl* readline* zlib* gcc pcre* libxml* libxslt-devel # useradd -s /bin/false nginx # ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/ng
ServersMan@VPS Entry → さくらの VPS → ServersMan@VPS Standard ともどってきました。という訳で今回は、ServersMan@VPS へ EPEL とREMI を導入する方法。RPMForge については、2010-11-11 の記事で CentOS4 への導入を書いてますが、大筋では 5 も変更有りません、リンク先の公式ご案内をみてね! EPEL のインストール 公式は以下。 EPEL/FAQ/ja - Fedora Project Wiki http 経由で直接 rpm インストールしていますが、ファイル転送失敗したりするとやだなーって思ったので僕はローカルに落として作業しましたよ。 # cd /usr/local/src/ # wget http://download.fedora.redhat.com/pub/epel/5/i386
今のところお支払い方法がクレジットカードしかないっぽいけど、そこは(一応)社会人ぱぅあーで契約。持っててよかった Yodobasi GOLD ELIO CARD!(VISA話) という訳で皮装備の貧弱一般人なりにサーバ設定してみるよ!これから触ってみる人の参考になればいいなー。 長いので以下続きでおk。 12/29追記 友人が「おいsshつながらねーぞfxxkfxxk!!」連呼するので確認してたら、ssh の接続ポートのデフォルト番号変わってたんんですねー、いつからなんだろ?まあ確認してねーほうが基本的には悪いね。「ServersMAN@VPS ssh 繋がらない」とかで検索ヒットした人は、ssh のポート番号を「3843」にしてね!この変更にともなって iptables のルールも ssh はポート番号 22 から、3843 に変更しておいたよ! ※本エントリ中に「SSH 22」みたいな
もうタイトルだけでピンときた人がほとんどだと思いますが、CentOS は現在インストールすると、ImageMagick 6.2.8 が召喚されます。このバージョンだと Rmagick の Version2 系が動かない、と、以前のエントリで解決方法書きましたが、ソース以外でも回避できる模様です。 さんこう http://www.katawara.com/2008/07/rmagick_with_centos5/ んで実際にやってみる。 手順は上記の参考にさせて頂いた katawara さんといっしょ。 (行った環境は、NTT PC の SuitePRO v2 鯖 on CentOS5.3 ) $ wget http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm #
ESXi でシンクライアントじゃぜヒャッハー!とか言いながら、社内にあまってた、HP の P6350JP へ、VMware ESXi 4.1 をインストールしようとしたら、「Unable to load module /usr/lib/vmware/vmkmod/vmfs3: failure」とか言われる始末。何が問題なのさフンガー!とググると、どうもネットワークカードが未対応なのが原因くさい。 VMwareESXiのネットワークカード対応 VMwareESXiのネットワークカード対応 - harry’s memorandum id:dharry さんの記事を見つけて、あーだから Intel 製の NIC が必須とか書いてたのねー、と納得。とりあえず、手元に余ってる Intel な NIC はないので、どーしたもんかと思案。すると、どうも同じように困っている人はいたみたいで、カスタムドライ
曰く「クラスタ構成ということは、最悪2台以上のサーバが同じデータを保持するんだからバックアップいらねーだろが!」 曰く「じゃあ全台同時に死んだとき全責任とってくれるんだろうな、あ?」 曰く「ケンカうってんのかハイスラでバラバラにしてやろうか!」 曰く「まただよ(笑)」 という訳で、MySQL Cluster でバックアップを定期的に取得する方法です。前置きはこの際置いておくんだ、重要なことじゃない 。 #!/bin/sh #バックアップ実行時の日付を取得(YYYYMMDD) today=`date +%Y%m%d` #バックアップ実行時から14日前の日付 daysago=`date --date "14 days ago" +%Y%m%d` #バックアップの実行 ndb_mgm -c xxx.xxx.xxx.xxx -e "START BACKUP ${TODAY}" #14日前のバックア
※gemからインストールする方法を「Imagemagick 6.2.8 と Rmagick」というエントリに書いたので、以下の無理矢理インストールする方法は使わない方がいいかも。とりあえずこんな方法もあるよ、という事で残しておくんだよ? WebARENA SUitePRO V2 に、 Rails サーバを一つ用意することなったというか前回の Passenger がインスコできない!の続きなんですが。 とりあえず Passenger が入ったので、起動してみようと思ったら、対象のプロジェクトはどうやら RMagick を利用していたらしく、起動画面でおこられてしまいました。ので、いつものようにインストール。 # gem install RMagickエラー、そういえば RMagick 2.0.0 以上は ImageMagick 6.3.0 以降のみ対応でした。というわけで、rpm を削除して
monit の設定ファイルですが、pid ファイルを参照し、無ければサービスの再起動、もしくは、指定されたパスのデバイスへアクセスし、情報の取得、等が出来るようです。 以下は、徹夜で設置したサービスに突っ込んだ設定ファイルのちょっと変更した例。そのままでも使えるとは思いますが、閾値は導入先の環境に合わせて下さい。 空き容量のアラート # # ローカル容量監視 # -> 2 cycles = 60sec * 5 # 5 分間、HDD (/var以下) が、90% を超えていれば、アラートメールが飛ぶ check device hda4 with path /dev/hda4 if space usage > 90% for 5 cycles then alert/dev/hda4 が、/var 以下をマウントしていたので。yum 等で何も考えずにインストールすると、大抵は /var 以下が食
元々、Plagger いれて HTML 生成しようと思ってたけど、CPAN がめんどくさそうだったので、Ruby に移植されてないかな、と調べたら「Pragger」てのがあったので「きた!これでかるつ!」と思ってたら公式消滅でしょんぼりしてたら、 yapra ってのが gem に登録されててぽわわん。plagger とは5分の恋でした。 さくらインターネットのスタンダードプランに rubygem を導入する http://iwatakenichi.blogspot.com/2008/05/ruby-on-rails-202-and-rubygems-111-on.html 参考にしたら一瞬で終了した、すげぇ! (Rails の設定はしなくておk) yapra をインストールする % gem18 install yapra今回は、version 0.1.2 がインスコされたよ。 とりあえずこ
死活監視ツールとして Monit を導入しました。そして半日ほど悩んだので、後続の為に何か道しるべになれば幸い。 monit のインストール $ wget http://mmonit.com/monit/dist/monit-5.0.3.tar.gz $ tar -zxvf monit-5.0.3.tar.gz $ cd monit-5.0.3 $ ./configure --prefix=/usr/local -> なんかデフォルトで /usr/local にインストールされるっぽい事が書いてあったけど念のため $ make # make install monit の設定 自分でコンパイルした時と、yum や rpm といったバイナリパッケージを展開した時だと、ファイルの配置が異なります。ファイルの読み込み順番や細かい配置先なんかは、他の先達に任せて、今回は自分で行った設定を。ちなみに
MAMPのmy.cnfがどこにあるのか、意外とわからなかったので個人用メモ。 /Applications/MAMP/Library/share/mysql/my-*.cnfsmall,medium,large,hugeとあるはずだけど、どれかひとつを、コピーして以下のディレクトリに my.cnf とリネームして配置すれば、それを読みに行くようになる。 /Applications/MAMP/db/mysqlちなみに、開発環境なら、my-small,cnf に以下のutf-8化を記述するだけでいいんじゃねえかな、と思います。 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysql] default-character-set=utf8追記 my-innodb-heavy-4G.cnf なんつー
このページを最初にブックマークしてみませんか?
『あーかいぶすハイディフィニション』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く