Linux

MeCab ユーザ辞書への単語追加

MeCab を使って、文章を単語に分割した時に、複数の単語が含まれる複合語などが、思ったように分割できない事があります。例えば「焼肉定食」は「焼肉」と「定食」の2つの単語に分割されてしまいます。MeCab には「最小単位の単語に分割する」という基本ルールがあるので、この分割は正しいのですが、実際に文章を解析する時は、1つの単語として扱いたくなります。そこで今回は、MeCab の辞書に単語を追加して...
Linux

NFS サーバ/クライアント設定メモ(CentOS7.1.1503)

NFS(Network File System)は、複数のホストから、同じファイルを共有することができる、分散ファイルシステムです。NFS の歴史は古く、30年近く使われているそうです。ファイル共有のプロトコルは、FTP や SMB をよく耳にしますが、NFS は、その仕組みのシンプルさから、ロードバランサー配下のWEBサーバなどでよく使われています。
Linux

RPMのコンパイルオプションを変更してインストールする方法

RPM は、CentOSなどRedHat系のOSで使われている、パッケージ管理システムです。実際には RPM の依存関係を考慮して、インストールなどをしてくれる yumコマンド を使って、RPM パッケージを扱うことが多いかと思います。 RPM パッケージに含まれる、ソフトやライブラリはコンパイル済なので、ソースファイルからコンパイル(ビルド)する手間を軽減できます。便利な仕組みなのですが、稀にコ...
プログラム

MeCab と php-mecab のインストールメモ(CentOS7.1)

MeCab は、日本語の文章を解析して、単語に分割してくれるソフトウェアです。WEBサービスを作るにあたって MeCab を PHP から使う必要があったので、今回は php-mecab もインストールしました。MeCab(めーきゃぶ)の名称は、開発者さんの好物「めかぶ」にちなんで付けられたそうです。ふと、めかぶをつまみに一杯やりたくなりました。(^^)
Zabbix

Zabbix 2.4 を yumでインストール(Zabbix2.4.5 + CentOS7.1.1503)

Zabbixサーバを、CentOS 7.1 (1503) にインストールした時のメモです。サクッと終わるかと思いきや、Zabbixサーバを起動しようとすると「Job for zabbix-server.service failed. See 'systemctl status zabbix-server.service' and 'journalctl -xn' for details.」のエラー...
Linux

HTTP/2 対応の WordPress サイト設定メモ【Nghttp2 (nghttpx) + CentOS 7】

Nghttp2 のプロキシー nghttpx を使って、HTTP/2 対応の WordPress サイトを設定した時のメモです。nghttpx は、HTTP/2 リクエストを HTTP/1.1 などのリクエストに変換してくれる、便利なプロキシーです。今回は、フロントエンドで HTTP/2 リクエストを nghttpx が受け取り、 バックエンドのWEBサーバ(Apache)に、HTTP/1.1リク...
クラウド

HTTP/2 と HTTP/1.1 のページ読込みスピードを比較

一般的なWEBページでは、ページを表示する際に、およそ100〜200のリクエストが発生します。現在WEB通信に使われている HTTP/1.1 では、同時に処理できるリクエストは4〜6程度ですが、HTTP/2 では100以上のリクエストを、同時に処理をすることができますので、ページ読込みの高速化が期待できます。そこで今回は、HTTP/2 と HTTP/1.1 のページ読込みスピードを比較してみました...
クラウド

WordPress スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する(Autoptimize)

WEBページのパフォーマンス測定ツール Google PageSpeed Insights でページを分析すると、ほぼ必ず「スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する」の改善方法が提案されます。これに対応するには JavaScript と CSS を最適化することが必要です。そこで今回は、WordPress の「Autoptimize...
Linux

HTTP/2 WEBサーバ設定メモ【Nghttp2 (nghttpd) + CentOS 7】

HTTP/2 は「WEBの高速化、通信量の削減、安全な接続」を目的とした、WEB通信プロトコルの最新バージョンです。2015年2月17日に、IETFの運営グループにより正式な仕様として承認されました。これまで長い間 HTTP/1.1 が使われていましたが、16年ぶりのバージョンアップになります。そこで今回は、HTTP/2 の実装として有名な Nghttp2 の nghttpd を使って、HTTP/...
クラウド

Google PageSpeed スコアを改善する方法(画像圧縮 OptiPNG)

Google が提供している、ページのパフォーマンスを測定ツール PageSpeed Insights は、WEBページの読込み時間などを計測して、スコア付けや、改善方法を提案してくれるサービスです。試しに自分のブログ記事を測定してみたところ、かなり残念なスコアでした。(^^;) 画像圧縮を全く使っていなかったのが一番の原因のようです。そこで、Googleさんおすすめの OptiPNG コマンドを...
Linux

CentOS 7.1 (1503) LAMPサーバインストールメモ【CentOS7.1.1503+Apache+MySQL+PHP】

2015年3月31日 RHEL 7.1 のリリースから約1ヶ月で CentOS 7.1(1503)がリリースされました。CentOS 7 では初のマイナーバージョンアップになりますね。初回のリリースから1年近く経ちましたので、CentOS 7系 への移行を検討されている方もいらっしゃるのではないでしょうか。さっそく、CentOS7.1 で LAMP構成をインストールする手順をメモしておきました。
プログラム

NetBeans での Git リポジトリサーバへの接続方法

NetBeans(ネットビーンズ) は、無償で使えるオープンソースソフトウェアの、統合開発環境(IDE)です。Java、PHP、HTML5、C/C++、Groovy などのプログラミング言語に対応しています。前回の記事で、Git リポジトリサーバの構築方法をご紹介しました、今回は、構築した Git リポジトリサーバに NetBeans から接続して、リポジトリのクローンなどの操作をしてみたいと思い...
Linux

Git リポジトリサーバの構築と、セキュリティを考慮したアカウント管理方法

Git はファイルの変更履歴を管理するための、バージョン管理システムです。ソフトウェア開発チームなど、複数の人で Git を使ってソースコードを共有するには、Git リモートリポジトリサーバが必要になります。リポジトリサーバのアカウントの管理は、「git」というユーザを作成し、このユーザの鍵登録用ファイル(authorized_keys)に、各クライアントの SSH公開鍵を登録/破棄することで実現...
クラウド

Amazon CloudWatch で Route 53 ヘルスチェックのメール通知設定

Amazon CloudWatch は AWSで稼働しているサーバやアプリケーションの状態を監視するためのサービスです。以前「KeyCDN を CloudFront で冗長化してアカマイ級の信頼性を」の記事で、Route 53 のヘルスチェックを使いました。今回はヘルスチェックの状態を監視し、障害があった時や、障害から復旧した時に、メールで通知されるように設定してみました。
Zabbix

Zabbix 2.4 SNMPトラップの監視設定メモ(SNMPTT)

SNMPトラップを受信して Zabbix から監視をするための設定メモです。Zabbix の公式マニュアルでも推奨している SNMPTT(snmptthandler-embedded)を使って設定してみました。トラップを受信する snmptrapd 、トラップの書式を整える SNMPTT など登場人物が多いため設定がやや複雑ではありますが、できるだけ分かりやすくを心がけてまとめてみました。
クラウド

Dot TK 無料ドメインを Amazon Route53 で管理する

DNSサーバの動作検証やバーチャルホストでの確認用サイトなど、有料で取得するほどではないけれど、どうしてもドメインが必要になることがありませんか? そんな時は無料ドメインを取得できる Dot TK(ドットティーケー)が便利です。そこで今回は Dot TK でドメインを取得してネームサーバを Amazon Route53 に変更する方法をご紹介したいと思います。
クラウド

KeyCDN を CloudFront で冗長化してアカマイ級の信頼性を

KeyCDN は高性能かつ低コストで使えるCDN(コンテンツデリバリーネットワーク)です。以前「KeyCDN 設定メモと転送スピードの比較」の記事で紹介しました。 でもいざ本番で使うとなると CDN が単一障害点になるため少し不安が残るところではないでしょうか? そこで今回は KeyCDN を Amazon CloudFront で冗長化して、インターネットの巨人アカマイ級の信頼性を「目指してみよ...
Zabbix

ZabbixでLAMPサーバを監視設定メモ(Zabbix 2.4 CentOS6.6)

ZabbixでLAMPサーバの監視設定をした時のメモです。監視項目としては、システムのCPUやメモリの使用状況やディスクI/Oなどのリソース監視と Apache、MySQLなどのミドルウェアの状態監視といった基本的なものを設定しています。Zabbixの色々な機能をできるだけ使って設定してみましたので、はじめてZabbixをさわってみる方にはチュートリアルとしても参考になるかもしれませんよ。
Zabbix

Zabbix 4-1. マップの作成

マップを作成することで、監視対象ホストのスクリーンやインベントリをワンクリックで閲覧できるようになります。 マップにはマクロが使えますので、ホストのIPアドレスや表示名はもちろん、ロードアベレージなどアイテムの値もリアルタイムでマップ上に表示することができます。 また、Zabbixのマップはかなりの自由度がありますので、マップを使ってネットワーク構成図を作成することも可能です。
Zabbix

Zabbix 3-15. テンプレートのスクリーンを設定

これまでに8つのテンプレートを作成しました。これらのテンプレートをLAMPサーバ用のテンプレートとしてまとめ、このテンプレートにスクリーンを作成します。スクリーンにはグラフやマップなど色々な情報を一つのページに表示できますので、サーバの状態を一目で把握できます。最後にこのLAMPサーバ用のテンプレートを監視対象のホストに適用すればLAMPサーバの監視設定完了です(^^)/
Zabbix

Zabbix 3-14. CentOSのバージョン取得テンプレートの設定(ホストインベントリ)

CentOSのバージョンやOSの詳細情報を取得しホストインベントリ(監視対象サーバに関する色々な情報一覧)に自動登録するテンプレートを作成します。こうすることで各サーバのOSの種類やバージョンを各サーバにログインすることなくZabbix上で確認することができます。また、インベントリを登録しておくと「CentOS6.6のサーバ一覧を表示する」といったことが簡単にできますので、管理対象のサーバが多くな...
Zabbix

Zabbix 3-13. WEBサイトのレスポンスタイム 監視テンプレートの設定

WEBサイトのレスポンスタイム(ユーザーの待ち時間)を監視するためのテンプレートを ZabbixのWeb監視機能を使って作成します。レスポンスタイムはWEBサイトにおいて特に重要な指標です。他の指標のロードアベレージやI/O負荷が高かったとしても、レスポンスタイムが早ければWEBサイトに訪れるユーザーにはなにも影響がありません。しかしロードアベレージやI/O負荷が正常であっても、レスポンスタイムが...
Zabbix

Zabbix 3-12. Memcached 監視テンプレートの設定

分散型メモリキャッシュシステムの Memcached が正常に起動していることを監視するためのテンプレートを作成します。PHPなどのセッション情報の保存先を Memcached に指定している場合は、Memcached が起動していないとエラーが発生しWEBサイトを表示することができません。死活監視は11211番ポートにTCP接続ができることにより確認します。また、Memcached のメモリの使...
Zabbix

Zabbix 3-11. MySQL 監視テンプレートの設定

データベース管理システムの MySQL が正常に起動していることを監視するためのテンプレートを作成します。LAMP環境で構築されているWEBサイトの MySQLデータベースには、一般的にユーザ情報やブログ記事などが保存されていますので、MySQL が起動していないとWEBサイトを表示することができません。MySQL の死活監視は3306番ポートにTCP接続ができることにより確認します。また、MyS...
Zabbix

Zabbix 3-10. Apache(HTTP/HTTPS)監視テンプレートの設定

WEBサイトを表示するためのミドルウェア、Apache が正常に起動していることを監視するためのテンプレートを作成します。Apache の死活監視は、80番ポート(HTTP)と 443番ポート(HTTPS)へのTCP接続ができることにより確認します。また、WEBサイトに現在どのくらい同時接続がされているかを把握するため Apache(httpd)のプロセス数の監視設定も行います。
Zabbix

Zabbix 3-9. ディスク使用率 監視テンプレートの設定(LLD ローレベルディスカバリ)

サーバに搭載されているハードディスクなど、記録媒体の使用率を監視するためのテンプレートを作成します。データの増加傾向を見ることによって、ハードディスクが満杯になる前に増設をするなどの対応を施すことができます。
クラウド

KeyCDN 設定メモと転送スピードの比較

KeyCDN は低コストかつ簡単に使えるコンテンツデリバリーネットワークです。KeyCDNはスイス・チューリヒ州にあるベンチャー企業が運営していますが、スイスから遠く離れたこの日本(東京)にもエッジサーバがあります。AWS CloudFrontの障害対策の記事などで KeyCDN の名前をよく見かけるようになり、気になっていたので試しに使ってみて CloudFront との転送スピードを比較してみ...
Zabbix

Zabbix 3-8. ネットワークトラフィック 監視テンプレートの設定

サーバに搭載されているネットワークインターフェースカードを通じて送受信されるデータ量を監視するためのテンプレートを作成します。WEBサイトに大容量のファイルのダウンロードさせるコンテンツがあるなどネットワーク通信量が多い場合は、CDN(コンテンツデリバリネットワーク)の利用を検討するのも一案です。
Zabbix

Zabbix 3-7. スワップメモリ使用率 監視テンプレート設定

スワップが発生していないかを監視するためのテンプレートを作成します。Linuxでのスワップはメモリが満杯である場合に、メモリ内の活動していないページ(データ)がハードディスクのスワップ領域に移動されます。ハードディスクはメモリの10万〜100万倍遅いためスワップが発生すると、膨大なディスクI/O待ちが起こりサーバの処理能力が著しく低下します。
Zabbix

Zabbix 3-6. メモリ使用率 監視テンプレート設定

メモリがどのくらい使われているのか、そのうちページキャッシュにどのくらいのメモリが使われているかを監視するためのテンプレートを作成します。メモリが不足しているとデータがあまりページキャッシュされないためディスクI/O待ちが発生したり、スワップが発生しサーバの処理能力が著しく低下してしまいます。