Nginx + php-fpmの勉強をしたくて構築してみました。
最終的にはそれ以外のことに費やした時間のほうが長くなりましたが…
メモ書きなのでつらつらと書いていきます。
※かなりの長文になってしまいました…
環境
Amazon Linux (3.2.34-55.46.amzn1.x86_64)
zabbix 2.0.4
mysql 5.5.27
nginx 1.2.6
php 5.3.20
やったこと
RDSセットアップ
zabbix-2.0のrpm作成
zabbix インストール
Nginx + php-fpm インストール
SESでアラートメール送信設定 ←力尽きました… あとでやります。
※ 続き 書きました!
RDSセットアップ
ec2にmysql入れてもいいのですが、せっかくなのでRDS使用してみます。
AWS Management ConsoleからDB Parameter Group 作成
文字コードをutf-8に修正。CLIでズババッと。こちら を参考に。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mkdir aws
cd aws/
wget http://s3.amazonaws.com/rds-downloads/RDSCli.zip
unzip RDSCli.zip
cd RDSCli-1.12.001/
echo "AWSAccessKeyId=********" > credential-file-path.txt
echo "AWSSecretKey=********" >> credential-file-path.txt
echo "export AWS_RDS_HOME=/home/ec2-user/aws/RDSCli-1.12.001" >> ~/.bashrc
echo "export PATH=/home/ec2-user/aws/RDSCli-1.12.001/bin:$PATH" >> ~/.bashrc
echo "export EC2_REGION=ap-northeast-1" >> ~/.bashrc
echo "export AWS_CREDENTIAL_FILE=/home/ec2-user/aws/RDSCli-1.12.001/credential-file-path.txt" >> ~/.bashrc
source ~/.bashrc
rds-describe-db-parameter-groups
rds-modify-db-parameter-group zabbix20 -p "name=character_set_client, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_connection, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_database, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_results, value=utf8, method=immediate"
rds-modify-db-parameter-group zabbix20 -p "name=character_set_server, value=utf8, method=immediate"
こんな感じで適当に作成。
接続して文字コードチェック。
1
2
3
4
sudo yum install mysql
mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '********.ap-northeast-1.rds.amazonaws.com' (110)
DB Security Groupsの設定が抜けていました。。。
設定して再チャレンジ!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
えぇ〜!(ノω<;)
databaseどうした…
設定抜けた? 再設定してもう1回…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
rds-modify-db-parameter-group zabbix20 -p "name=character_set_database, value=utf8, method=immediate"
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
ぐぬぬ。。。 とりあえずrebootしてみる。
→ダメでした。。。
→こちら のサイト様を参考に解決しました!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> alter database DATABASE default character set utf8;
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
zabbix-2.0のrpm作成
zabbix-2.0のrpm作成します。
参考サイト様はこちら 。
1
2
3
4
5
6
7
8
9
10
11
12
git clone https://github.com/atanaka7/zabbix-jp-amzn1.git
sudo yum update
sudo yum groupinstall 'Development tools'
sudo yum install mysql-devel net-snmp-devel openldap-devel sqlite-devel unixODBC-devel libssh2-devel java-devel curl-devel OpenIPMI-devel mysql postgresql-devel
sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo sed -ie "s/\$releasever/6/g" /etc/yum.repos.d/remi.repo
sudo yum install php-cli php-mbstring php-common php-mysql php-xml php php-pdo php-gd php-bcmath --enablerepo=remi
cd /usr/local/src/
sudo wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/fping-2.4b2-16.el6.JP.x86_64.rpm
sudo wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-1.4-2.el6.JP.x86_64.rpm
sudo wget http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-devel-1.4-2.el6.JP.x86_64.rpm
sudo yum localinstall fping-2.4b2-16.el6.JP.x86_64.rpm iksemel-1.4-2.el6.JP.x86_64.rpm iksemel-devel-1.4-2.el6.JP.x86_64.rpm
1
2
3
4
5
6
7
8
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%_topdir $HOME/rpmbuild" > ~/.rpmmacros
echo "%_builddir %{_topdir}/BUILD" >> ~/.rpmmacros
echo "%_rpmdir %{_topdir}/RPMS" >> ~/.rpmmacros
echo "%_sourcedir %{_topdir}/SOURCES" >> ~/.rpmmacros
echo "%_specdir %{_topdir}/SPECS" >> ~/.rpmmacros
echo "%_srcrpmdir %{_topdir}/SRPMS" >> ~/.rpmmacros
rpmbuild --rebuild zabbix-2.0.4-1.amzn1.src.rpm
zabbix インストール
1
2
3
4
cd ~/rpmbuild/RPMS/x86_64/
sudo yum localinstall zabbix-2.0.4-1.amzn1.x86_64.rpm zabbix-server-2.0.4-1.amzn1.x86_64.rpm \
zabbix-server-mysql-2.0.4-1.amzn1.x86_64.rpm zabbix-web-mysql-2.0.4-1.amzn1.x86_64.rpm \
zabbix-agent-2.0.4-1.amzn1.x86_64.rpm ../noarch/zabbix-web-2.0.4-1.amzn1.noarch.rpm
1
2
3
4
cd /usr/share/doc/zabbix-server-2.0.4/database/mysql/
sudo cat schema.sql |mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
sudo cat images.sql |mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
sudo cat data.sql |mysql -u USER -h ********.ap-northeast-1.rds.amazonaws.com -p DATABASE
/etc/zabbix/zabbix_server.conf
の修正点のみつらつらと…
1
2
3
4
DBHost=********.ap-northeast-1.rds.amazonaws.com
DBName=MYSQL_DB
DBUser=MYSQL_USER
DBPassword=MYSQL_PW
エラーなければok.
1
sudo /etc/init.d/zabbix-server start
Nginx + php-fpm インストール
1
2
3
4
5
6
7
8
9
10
11
12
sudo yum install nginx php php-fpm php-devel php-cli php-xml php-mysql php-mbstring php-gd --enablerepo=remi
cd /etc/nginx/
sudo vim /etc/php.ini
sudo vim /etc/php-fpm.d/php_zabbix.conf
sudo vim nginx.conf
sudo vim conf.d/nginx_zabbix.conf
sudo mkdir /var/log/nginx/zabbix/
sudo mkdir /var/www/nginx
sudo ln -s /usr/share/zabbix /var/www/nginx/zabbix
sudo /etc/init.d/php-fpm start
sudo nginx -t
sudo /etc/init.d/nginx start
起動時にエラーがなく、http://domain/zabbixにアクセスしてこんな画面が出ればok. あとは画面の指示に従ってインストール!
何かおかしいときは画面上部に赤字でエラー内容が出るのでそれを参考に修正。
1
2
3
sudo /etc/init.d/php-fpm start
sudo /etc/init.d/nginx start
sudo chown nginx:nginx /etc/zabbix/zabbix.conf.php
とりあえず完成!
完全に複数の記事に分けるべきでした。
構築しながらブログ書いて疲れました。
SESでアラートメール送信は後日やります。。。
※ 続き はこちら!