hypermkt blog

都内で働くWebアプリケーションエンジニア。主にサーバーサイド。最近はRuby/Railsでコードを書くのが楽しい。

スクレイピングをmod_dosdetector-forkで防ぐ方法

May 06, 2014

とある日、サーバーがやけに重いなーと思ってログを見た所、頑張ってスクレイピングをしている人がいた。その日のログの件数だけで18万件・・・。111.86.200.225 - - 18/Apr/2014:13:38:24 +0900 “GET /review/698049/ HTTP…

サーバーの転送量の調べ方

February 26, 2014

ウェブサーバーの場合はApacheやNginxのログファイルにある転送量を合算すれば算出できるが、DBサーバーの場合はどうすればいいのか調べていた所、ifconfigコマンドでサーバーが起動してから転送量が分かるとの事。# ifconfig eth1 eth1 inet…

ntpd monlist脆弱性の対策法

February 15, 2014

JPCERTよりntpdの脆弱性の報告があった NTP Project が提供する ntpd の一部のバージョンには、NTP サーバの状態を確認する機能 (monlist) が実装されており、同機能は遠隔からサービス運用妨害 (DDoS…

mysqladmin flush-logsでlogrotateが出来ない!

February 02, 2014

mysql_logo なぜだ・・・なぜなんだー! 事の発端はある日のAM4:00に発生したmysqldのメモリー超過でした。4:00ちょうどから急激に実メモリー、スワップメモリーが上昇しはじめ、一時間後あたりでOOMキラーでプロセスがkillされていました。調査した結果、cron…

Webサーバー複数台化への道のり::設計編

January 25, 2014

small__3595638270 概要 とあるレビューサイトではアクセスのピーク時間帯になるとサイト動作が全体的に遅くなる現象が長く続いていました。取り急ぎの改善としてはSQL、I/O…

ドキュメント管理ソフトウェア Confluenceのすすめ

January 17, 2014

logoConfluencePNG 概要 アプリケーションやウェブサイトの開発の際に仕様、キャンペーンの企画などをGitHub/TracのissueやWikiなどで管理するケースが多いと思います。ですが、GitHub/TracのWiki…

サーバー時刻を自動的に補正する方法

January 12, 2014

サーバー時刻はあまり正確ではなく、少しずつずれていき、年間で約10分ずれます。時刻がずれるとアプリやAIの動作に影響があるので必ず正確な時刻に補正しましょう。 今回はntpd…

sshのポート番号を変更する方法

January 08, 2014

centos-transparent なぜ変更するのか sshの標準ポート番号の22番は一般的に知られた番号であり、そのままではSSHブルートフォースアタックの的となります。そのために、変更した方がより安全です。 変更方法 2222番に変更する手順をまとめます。 222…

複数サーバーでデータを同期する方法

January 06, 2014

newrsynclogo ウェブサーバーを複数台運用している場合、sitemap.xmlなどのデータを全ウェブサーバーで共有したい場合があります。 解決方法としては rsyncでファイルを定期的に転送 NFS とありますが、ちょっとしたファイル程度ならrsync…

Apache httpd.confのBufferLogsでハマった話

January 04, 2014

Apache-Logo この設定のおかげで三時間近く悩みました。access_logの書き込みの挙動がやけに不規則で再起動をすると一気に書き込まれたりとおかしな〜とず〜と悩んでました。 友達に聞いた結果このBufferLogsが原因だと分かりました。 BufferLogs…

knife-soloを使ってリモートサーバーに対してChefを適用する

January 02, 2014

Chef Logo 概要 Chef-soloはサーバーにログインして実行する必要がありますが、管理するサーバー台数が増えてくると各サーバーに都度ログインしてChef Soloを実行するのが面倒くさくなりました。そこで管理サーバーとして大本のサーバーから各サーバーに対してChef…

Macでvagrant upの際にエラーが発生した際の対処法

January 02, 2014

logo_wide-cab47086 過去に何十回とぐぐったのでそろそろ自分用のメモとしてまとめておく。 vagrant upをすると稀に下記のエラーが表示される $ vagrant up Bringing machine ‘manage’ up with ‘virtualbox…

CentOS5.8にyumでgitをインストールする

December 31, 2013

Git-Logo-1788C CentOS 5.8(Final)にyumでgitをインストールしようとするとNo package git available.と言われインストール出来ない。 vagrant@vagrant-c5-x86_64 ~$ sudo yum install…