2015 年、僕がメインで担当したとある PHP 案件の振り返りを行ってみようと思います。おもに技術面から、設計前に想定したこと、実際に導入してうまくいったこと・いかなかったことを振り返ってみたいと思います。 技術的な環境は、次のとおりです。 インフラ環境: オンプレミス(だいだい6台くらい、このときのためにほぼハードウェアを新規に調達しました) OS: CentOS 7.0 言語: PHP 5.6 フレームワーク: FluelPHP 1.7.x データベース: Postgresql 9.3 ミドルウェア ロードバランサー冗長化: Keepalived(新規) ウェブサーバ: Apache から Nginx に変更、PHP は FPM キャッシュ: Redis(新規) 検索: Elasticsearch(新規) ログ: Fluentd(新規) 監視: Nagios & Cacti & Munin(従来と同じですが、新規にセットアップしています) …
[さらに読む]The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
このエントリは、MySQL Casual Advent Calendar 22日目のエントリです。 多数の MySQL サーバをもモニタリングするとき Ganglia を使うと便利です。 現在の Ganglia は、バージョン 3.6.0 なのですが、MySQL をモニタリングしたい場合には、前に hirose31 さんが作ったプラグインがありますが、現在は本体に取り込まれているプラグインを使うといいです。 まず、インストール方法は、CentOS を例にとって説明しますが、Ganglia の RPM パッケージを作成しています。本体に SPEC ファイルのもとがあるので、手元で ./configure したあと ganglia.spec を使うと、次の RPM パッケージが出来上がります。 ganglia-web: Ganglia の Web GUI gangala-gmetad: Ganglia サーバの収集デーモン ganglia-gmond: Ganglia クライアント ganglia-gmond-modules-python: Ganglia クライアントの Python …
[さらに読む]OS X 10.9 で、pgsql 入りの PHP 5.6.2 を自分でコンパイルしてインストールしようとしたところ、結果いうと make の最後のリンクに失敗してしまってインストールできませんでした。 公式サイトから、PHP 5.6.2 をダウンロードして、次のような configure してみました。なお、事前に postgresql などは homebrew 経由で事前にインストール済みです。 インストール先は、homebrew 以下になっていますが、これは試験的なインストールのためです。 php-5.6.2$ ./configure --prefix=/opt/boxen/homebrew/Cellar/php56/5.6.2 --localstatedir=/usr/local/homebrew/var --sysconfdir=/usr/local/homebrew/etc/php/5.6 --with-config-file-path=/usr/local/homebrew/etc/php/5.6 --with-config-file-scan-dir=/usr/local/homebrew/etc/php/5.6/conf.d --with-iconv-dir=/usr --enable-dba --with-ndbm=/usr --enable-exif --enable-intl --enable-soap --enable-wddx …
[さらに読む]Software Collections for CentOS-6 がリリースされました。 Software Collections というのは、RHEL で提供されている追加コンポーネントです。 この追加コンポーネントには、次のものが含まれています。 Perl 5.16.4 PHP 5.4.14 Python 2.7 Python 3.3 Ruby 1.9.3 MariaDB 5.5 MySQL 5.5 PostgreSQL 9.2 Node.js 0.10 Node.js のみ、テクニカルプレビューのようです。 これらが CentOS 6 で利用できるようになったようです。比較的バージョンの新しいものがあるので、自分でパッケージをビルドする必要がないので、便利ですね! インストール方法は、とても簡単です。まず、Yum リポジトリを追加します。 $ sudo yum install centos-release-SCL これをインストールすると、/etc/yum.repos.d/CentOS-SCL.repo ができます。 試しに Ruby 1.9.3 をインストールしてみましょう。 $ sudo yum install ruby193 …
[さらに読む]MySQL Casual Advent Calendar 2013 の 21 日目です。 早いもので、MySQL 5.6 が GA としてリリースされて、早いもので約十ヶ月くらい経っていますし、AWS RDS でも 5.6 がサポートされていますし、本番環境の MySQL サーバで 5.6 が稼働しているところが多いのではないでしょうか? さて、とあるプロジェクトで CentOS 6.4 x86_64 上 Redmine を構築したとき、MySQL 5.6 をクライアントして使ったときにはまりました。 まず、dev.mysql.com から、公式の 5.6.15 の RPM を MySQL-devel パッケージをインストールして、redmine を展開して、bundle しました。 $ wget http://www.redmine.org/releases/redmine-2.4.1.tar.gz; tar zxf redmine-2.4.1.tar.gz $ cd redmine-2.4.1 redmine-2.4.1$ bundle install --path vendor/bundle Fetching gem metadata from https://rubygems.org/........ ... Installing mysql2 (0.3.14) …
[さらに読む]OSX で mysql5.6 環境下で mysql/mysql2 gem のインストールエラーがでた。
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem
native extension.
/Users/.../bin/ruby extconf.rb --with-mysql-config=/usr/lo
cal/mysql/bin/mysql_config
checking for mysql_ssl_set()... no
checking for rb_str_set_len()... no
checking for rb_thread_start_timer()... no
checking for mysql.h... no
checking for mysql/mysql.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack
of
necessary libraries and/or headers. Check the mkmf.log file for
more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
…
MySQL 5.6 にしてからというもの、mysql プロンプトで、Ctrl + w
を押したとき、それまで入力していた行すべてが削除されてしまうようになった。
どうにも不便で、前のワード単位で削除したい方法を調べてみたら、さくっとこの情報が見つかった。
さっそく $HOME/.editrc を作成して、次の行を追加してみた。
bind "^U" vi-kill-line-prev
bind "^W" ed-delete-prev-word
mysql プロンプトの接続を切って、再接続すると、Ctrl + w で前のワード単位で削除できるようになった!!!
これで、MySQL 5.5 以前と同じ使い心地になった。
公式情報は、MySQL :: MySQL 5.6 Reference Manual :: …
[さらに読む]