Archive for the “Server” Tag

Amazon EC2 の t1.microインスタンスでMySQLがよく落ちる

POSTED: Jun 29, 2013, 3:19 pm
TAGS: , ,

EC2 の t1.microインスタンスにてWordPressを複数たててると、まーよくMySQLが落ちます。
しまいには起動もしなくなるので、MySQLのログを見てみます。

130629  5:46:48 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130629  5:46:48 InnoDB: Completed initialization of buffer pool
130629  5:46:48 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130629  5:46:48 [ERROR] Plugin 'InnoDB' init function returned error.
130629  5:46:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130629  5:46:48 [ERROR] Unknown/unsupported storage engine: InnoDB
130629  5:46:48 [ERROR] Aborting

という感じでバッファが足りないと起こられてました。

問題のメモリをfreeで確認してみます。

$ free
             total       used       free     shared    buffers     cached
Mem:        608476     565044      43432          0       1284      53996
-/+ buffers/cache:     509764      98712
Swap:            0          0          0

えっ(;゚д゚) Swapゼロ。
t1.microインスタンスには613MBのメモリしか無い上にSwap領域も無いみたいなのでSwap領域を作ってあげると良いみたいですね。

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 32.7992 s, 32.7 MB/s

$ sudo mkswap /swapfile 
mkswap: /swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=219ec0fb-4c67-449b-a7bb-c082971b68d2

$ sudo swapon /swapfile

$ free
             total       used       free     shared    buffers     cached
Mem:        608476     601432       7044          0        824      88752
-/+ buffers/cache:     511856      96620
Swap:      1048572          0    1048572

うむ、これで安心ですね!

AWS EC2 Linuxにサクッとphp開発環境を作るシンプルなまとめ

POSTED: Apr 1, 2013, 9:14 pm
TAGS: , ,

細かい設定は抜きでとにかくガーーッと環境構築したいときのためにシンプルにまとめてみました。
レッツスタートぅ!

# Macのターミナルでsshの鍵やらも設定しておく。
vi ~/.ssh/config
# ~/.ssh/config
Host hoge
User ec2-user
HostName alpha.hoge.com
Port 22
IdentityFile ~/.ssh/hogehoge.pem
# らくらく接続〜(・3・)
ssh hoge
# rootのパスワードを設定。最近はパスワード強度判定がおせっかいなほど親切。
sudo passwd root
# ec2-userのパスワード設定、アップデート、php、mysql関連をインストール。
passwd ec2-user
yum update
yum install httpd mysql-server php php-pear php-mysql php-mbstring php-gd php-mcrypt php-pecl-apc
# タイムゾーンの設定。
cp -i /usr/share/zoneinfo/Japan /etc/localtime
# php.iniの設定。
vi /etc/php.ini
date.timezone = "Asia/Tokyo"
expose_php = Off
# webmasterユーザーを追加。公開ディレクトリを作成。
useradd webmaster
passwd webmaster
cd /var/www/
mkdir hoge.hogehoge.com
chown -R webmaster. hoge.hogehoge.com
# httpd.confの設定。
vi /etc/httpd/conf/httpd.conf
# httpd.conf
#ServerTokens OS
ServerTokens Prod

ServerName hoge.hogehoge.com:80

#Options Indexes FollowSymLinks
Options Includes ExecCGI FollowSymLinks

#AllowOverride None
AllowOverride All

#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

#ServerSignature On
ServerSignature Off

#AddDefaultCharset UTF-8

#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl

#Options Indexes MultiViews FollowSymLinks
Options MultiViews
# httpdの再起動。
/etc/rc.d/init.d/httpd start
chkconfig httpd on
# mysqlの設定。
vi /etc/my.cnf
# my.cnf
character-set-server = utf8
# mysqlの再起動。
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on
# mysqlの設定。空ENTERとパスワード入力だけで、匿名ユーザー削除、リモートからのrootログイン禁止、testデータベース削除という感じ。
mysql_secure_installation

いちおうdone!

CORESERVERで手っ取り早くWordPressをインストール、使いやすくする方法

POSTED: Mar 25, 2013, 12:21 pm
TAGS: ,

ssh接続など細かい設定ができて汎用が効くので良く利用しているCORESERVER
デフォだとバージョンの古いphp、かつセーフモードで動いているのですが、これだと色々と不都合なことが多いですよね。
WordPressのファイル群にある.htaceessに下記の一行を加えてしまいましょう。

AddHandler application/x-httpd-php54cgi .php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

これでプラグインのインストールやテーマのインストール、画像のアップロードなどなど、何も手を加えなくてもスムーズにできるようになるはず。

DELL PowerEdge T105 3台 譲ります(ディスプレイも欲しければ)

POSTED: Feb 13, 2013, 12:28 pm
TAGS:
DELL T105 DELL T105

オフィス改装を兼ねて、サーバー機を3台処分することになりました。ただ、まだ現役で問題なく動くし捨てるのには勿体無いので譲ります。

Dell PowerEdge T105の製品詳細 | Dell 日本

条件としては、渋谷区富ケ谷まで取りに来られる方で。
キーボード(お気に入りのマニアックなやつ)、液晶ディスプレイも15インチと17インチとあるので、欲しい方いればぜひ!

このT105はエントリサーバー機。私はCentOSを入れてファイルサーバー、テストWebサーバーとして使っていました。

下記、超簡単にスペックです!

A機
AMD Opterom DualCore 2.0MHz
DDR2 667MHz 1GB + 1GB
640GB + 320GB
LANボート +1

B機
AMD Opterom DualCore 2.0MHz
DDR2 800MHz 512MB + 512MB
320GB + 320GB

C機
AMD Athlon 2.7MHz
DDR2 800MHz 512MB
200GB + 200GB

DELL T105

今月、来月は色々と不要品が出てくるかもしれないです。。

NVR500で固定IPを各サーバーに振り分ける設定

POSTED: Apr 25, 2012, 1:32 am
TAGS:

NVR500をルーターにして、LAN側の各サーバー192.168.1.11〜192.168.1.13に、プロバイダからレンタルした複数固定IPを振り分ける方法。
NATディスクリプタというやつで振り分けます。

コマンドはこちらのサイトでお勉強
NATディスクリプタの定義コマンド

LAN側サーバー3台 : 192.168.1.11〜192.168.1.13
レンタル固定IP(4つ) : 111.22.123.100-111.22.123.103

をこんな塩梅で設定。

#
# NAT Descriptor configuration
#

nat descriptor type 1 nat-masquerade
nat descriptor address outer 1 111.22.123.10-111.22.123.13
nat descriptor address inner 1 192.168.1.1-192.168.1.254
nat descriptor static 1 1 111.22.123.10=192.168.1.101 1
nat descriptor static 1 2 111.22.123.12=192.168.1.102 1
nat descriptor static 1 3 111.22.123.13=192.168.1.103 1
nat descriptor type 1000 masquerade

111.22.123.11を除いてたりするのは、開発案件などで固定IPの接続環境が必要なときに使ったりなど。
極稀にNVRの設定をイチから構築することがありますが、設定のたびに脳内の底から記憶を掘り出すのがスゴいストレス…。

しかし、最近はめっきりAWSを使うようになって自鯖の役割と言ったらVPNとプロキシ、ファイルサーバーくらい。。

ヤマハ ブロードバンドVoIPルーター NVR500