カテゴリー別アーカイブ: Server

PHP7にアップデート

かなりのパフォーマンス改善がされたってことで
テスト用のサーバ(CentOS7)のPHPをバージョンアップしてみたよー

まずは、今まで使ってたphp5.4をサヨナラ

若干残骸が、、、なので下記コマンドでそれらともサヨナラ!

無事にキレイさっぱりしたら、改めてphp7をインストール

とりあえず、必要そうなphp、php-mbstring、php-mysqlnd あたりを入れておく。

ちゃんとインストールできたか確認

casperjs 小技いろいろ

casperjsでいろんな画面のキャプチャを取得して

みたんだけど、うまく取得できなかったり

ちょっと、小細工したりしたかったので

そこらへんの内容をメモメモ

■ SSLのページが失敗する
SSLのページをキャプチャしようとすると
真っ黒になってしまったので、
そんなときは「–ssl-protocol=any」を付けて実行する!

■ 背景が黒になる
どうやら、phantomjsの背景は、デフォルトで何も指定されていないので
サイト側でbodyの「background-color」をしてない場合、
背景が黒になってしまうらしい。

なので、「background-color」が指定されているか判別して
指定されてなかったら、白を設定したほうがよいかも

■ ページが完全に表示されていない
なんかjsでごにょごにょやってるサイトとかは
ちょっと待ってからキャプチャしないと中途半端な画面に、、、
単位はms

■ 「もっと見る」みたいなのを開いてからキャプチャしたい
どうせキャプチャとるなら、いろんな情報が欲しい!
なんてときは、「もっと見る」とかのリンクをクリックしてから
キャプチャを取得!
このサンプルでは、class名が「more-link」のリンクを
ひたすらクリックしてからキャプチャを取ってるよー

■ プロキシを通したい
べ、別にやましいことをしてるわけじゃないけど
身元を隠したいってときに

■ cookieを使用したい
別に使用したくないけど、変な広告のせいで
cookieが有効になってないとエラーメッセージがでてたので、、、

casperjsでitunesのURLに接続できない

casperjsはすごい便利で使える

と思ってたら、itunesの画面をキャプチャしようとすると

真っ黒に、、、もちろんHTMLソースも取れない、、、

どうやら、SSL Protocolが原因のようで

itunesはTLS 1.2を使用しているらしいのだが

PhantomJS のデフォルトのプロトコルは SSLv3とのこと

–ssl-protocol=tlsv1 (もしくはany)を付けてあげたら

ちゃんととれましたー

容量が足りないときの原因調査

dfコマンドで調べたところ
ディスク使用率が、なんと97%に!!

こいつはやばいっ!

そもそも、もとから7.8Gしかないのも淋しい、、、

とりあえず原因調査するときに役立つコマンド

これさえあれば、がんばれば原因はつきとめられるはず。
あとは、容量の多いディレクトリを掘っていけば見つかるよー
例)du -sh /var/*

mysqlなどの簡単な監視&再起動

AWSでWordPressを構築したのだけれど
恐らくメモリ不足により、MySQLが時々落ちる・・・

swap領域の作成など対策をしてみたけれど
やっぱり落ちる。。。

ってことで、とりあえずMySQLを監視して
落ちてたら、起動させるクーロンで対応してみたのでメモメモ

mysqldのところをapacheなどに変えれば応用が可能だけれど
あくまで簡易版なので、趣味程度のサイトならこれでいいかも。

grep -v grep ・・・ grepの結果からgrepの文字列を対象外にする
grep -q mysqld ・・・mysqldの文字列のありなしのみを返す
a || b ・・・ a の値が真の場合はb は無視。偽の場合はbを実行

MySQLがよく落ちる(複数WPの影響?AWS?)

なんかMySQLがよく落ちるから、

とりあえず再起動して放置してたんだけど

MySQLのエラーログみたら、なんか書き出されてたので

ちょっと対応してみたのでメモメモ

はたして、解決するのか?!

■ 環境 AWS t1.micro
■ WP 7個ほど動かしてる

こちら、はかれてたログ内容(/var/log/mysqld.log)

とりあえずmy.cnf(/etc/my.cnf)に以下2行を追加してみる。

mysqlを停止してからib_logfile0、ib_logfile1ファイルを
削除(またはリネーム)してから再起動!

これで解決しなかったら、swap領域を作成するとかかなぁ、、

・・・

・・・

・・・

見事に解決しなかったのでw
swap領域を作成してみる!

AWSのEC2インスタンスでt2.microを選択したのだけれど
デフォルトでは、swap領域がなんとゼロ

freeコマンドで確認してみると

早速、スワップ用のディレクトリとファイルを作成
今回は、「/var/swap」ってとこに作ったけれど、こちらはお好みで。

次に、作成したファイルのフォーマットと有効化

ここまでできて、改めてfreeコマンドで確認してみると

無事にswap領域が確保されてるよー

最後に、起動時に自動でスワップが割り当てられるように設定

もうMySQLが落ちませんようにー

rsync で同期バックアップ取得

バックアップ取得したあとに、

他のサーバにバックアップファイルを

転送したかったので、そのときの作業メモメモ

–delete
同期元になくて同期先にあるファイルは削除

この際に、sshで接続するときのパスワード入力を不要にするために

認証しておかなきゃいけない

自己証明書でSSL対応

とりあえず、イントラサーバなので

自己証明書でSSL化のメモメモ

■ CA認証局の作成

■ CA証明書の場所
 ・CA秘密鍵 /etc/pki/CA/private/cakey.pem
 ・CA証明書 /etc/pki/CA/cacert.pem

■ サーバー証明書の秘密鍵作成

■ サーバー証明書作成

The organizationName field needed to be the same in the ~
と怒られてしまうので、CA局と、証明書の「Organization Name」は同一に

■ サーバー証明書へのCAの署名

もし、下記のメッセージが出て失敗してしまったら
failed to update database
TXT_DB error number 2

りぶぉーくをすると復活するらしい

openssl ca -revoke /etc/pki/CA/newcerts/xxxxxxx.pem

コマンドラインから画面キャプチャを取得

サーバ側から画面キャプチャを取ろうと

いろいろやってみた

そのうちのひとつ「casperjs」を試してみたけれど

結構簡単だったのでメモメモ

それぞれ新しいバージョン出てたのでこちら↓のほうがよいかも~

試しに、「test.js」ってのを作ってみる

作ったファイルを実行!

もし日本語が豆腐さんになってたら、

日本語フォントを入れてあげる

以前の手順と一緒

それでもダメなら

きっとこれで解決するはず

cronにしかけたshellからphpを実行するときに
casperjsコマンドをたたくと、下記エラーが。。。

手でshellを実行するぶんには問題ないのに

Fatal: [Errno 2] No such file or directory; did you install phantomjs?

phantomjsの場所がわかっていないようなので
shellに下記の1行を追加

phantomjsの場所は、下記コマンドで調べましょー
whereis phantomjs

Composerのインストール

なにかと出てくる

ライブラリ管理のComposer

インストール手順をメモメモ

PHPのバージョンは5.3以降必須!

curlコマンドでcomposer.pharを持ってきて
composerコマンドを使えるように、/usr/local/bin配下へ移動

「composer」コマンドをたたいて下記の表示がでればOK!

composerをアップデートする場合は