2016年12月

2016年12月06日

Windowsメディアが付属しているシステムを購入しました。そしてDVDドライブはありません。
こういう構成の場合、Windowsのインストールに苦労しますね。

まず、本体に対してのインストールは、ILOを利用してDVDをマウントしました。
ここまではとりあえずOKです。

次にHyper-Vを利用するために、ゲストにOSをインストールしたかったのです。しかしDVDドライブもありませんし、ISOも無いために、インストールができません。

困ってしまいました。
ということで、Webから ISO をダウンロードしました。このとき、Windows2012の評価版ライセンスでした。

ゲストには、この評価版のOSをインストールし、すぐにプロダクトキーを入力しました。

参考
Windows Server 2012 R2 評価版を製品版にアップグレード

上記サイトの通りです。

■スタンダードエディションに変更
DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

2回ぐらいの再起動で、製品版に変更されました。



stock_value at 09:21|この記事のURLComments(0)TrackBack(0)技術 

2016年12月05日

僕はあまりSEOについては対策していません。ごく普通のコンテンツとしてHTMLが記載されていればいいだろうという程度の考えです。
他サイトからのリンクなどはたまに確認しています。

で、Moz という会社がオーソリティという指標を出しているようです。
Open Site Explorer
ちなみに、このページ( dynamic-one.com ) は、15でした。満点が100なのでだいぶ低い・・。

ちなみにこれは、blogを書いている人が商品を紹介する前提で、ライセンスをもらえるという企業がありました。お、と思って確認すると、Moz の Page Authority の値に指定がありました。30前後を求められたので、当然僕はダメですね・・。

しかしSEOもどんどん進化するためによく分かりません。大変だなぁ

参考
Mozでサイトドメインやページのオーソリティー(権威性)を見る方法

stock_value at 17:11|この記事のURLComments(0)TrackBack(0)技術 

2016年12月04日

PHPのセッションが大量になると、セッションフォルダ内に大量のセッションファイルが作成されてしまいます。

# vi /etc/php.ini
;session.save_path = "N;MODE;/path"
session.save_path = "2;/path"

で、この状態でURLにアクセスすると、no such file or directory というエラーが表示されてしまいます。

階層化されているので、そのフォルダが無いのは容易に想像できました。しかし自動で作ってくれるだろうから、書き込み権限が無いのだろうか。そのように思っていたのです。

しかし実際には、自動で作成されない のでした。

PHP のセッションを階層化されたディレクトリに保存する

で、上記サイトを参考にして、ファイルをダウンロードし実行すると、フォルダが作成されるようです。
※フォルダ名は設定値によって利用される文字数がことなるようです。session.hash_bits_per_character で検索してください。4、5、6の値が設定可能みたい。


なおこのように階層化すると、ガベージコレクションが実行されないようです。

xargs などで古いファイルを削除するように cron で実行する必要があります。

参考
PHPセッションの階層分け
phpはsub directoryを自動生成しない

stock_value at 16:15|この記事のURLComments(0)TrackBack(0)技術 

2016年12月03日

ロードバランサーを利用しているときに、ありがちなトラブルとして、セッションの管理があります。
LB配下の SV01 で処理をしており、次に SV02 にアクセスが振り分けられた場合、セッションはSV01で管理されているので、引き継がれないのです。特にログインしているようなアプリは、画面遷移とともに突然ログアウトしてしまうので、すぐに気づけますし、よく出現するパターンです。

で、NFSで管理しようと最初は思っていました。
しかし数台のサーバーでNFSにアクセスした場合、セッションフォルダ内には、たくさんのセッションファイルができてしまいます。
そしてそれを回避するためには、ディレクトリ階層の指定もできるのでその設定を行います。
# vi /etc/php.ini
;session.save_path = "N;MODE;/path"
session.save_path = "2;/path"

しかしながら、これではNFSでの安定性になんだか不安がありました。速度面も気になります。
ということから、 memcached を利用することにしました。
# vi /etc/php.ini
session.save_handler = memcached
session.save_path = "<サーバーIP>:11211"

これで service httpd reload を行い反映させます。
なおサーバー側で以下のコマンドで動作状況を確認することができます。
emcached-tool localhost:11211 dump

PHPセッションをmemcachedで管理する件

stock_value at 15:31|この記事のURLComments(0)TrackBack(0)技術 

2016年12月02日

先日の記事で memcached をインストールしました。そして続いてPHPでの利用です。

僕は自分で make とかはしたくないので、以下のコマンドで memcached.so をインストールします。

# yum install php-pecl-memcached

これで memcached.so がインストールされます。
設定ファイルは以下の場所にあります。特に設定を変更する必要はありません。
/etc/php.d/memcached.ini

また、モジュールが読み込まれているか確認します。
# php -m |grep mem
memcached

これで httpd を reload して設定を反映させます。
# service httpd reload

参考
CentOSにmemcachedをインストール

stock_value at 15:01|この記事のURLComments(0)TrackBack(0)技術 

2016年12月01日

memcached というのは、技術的な事を調べると必ず出てきました。特に大規模な場合には、色々と工夫して利用されているようです。
しかしながら、僕自身はこれを利用したことはありませんでした。いくつもの理由はありますが、大規模なサイトは関係していないこと、僕自身は開発者ではないので、そもそも必要がないことなどです。

最近になって php のセッションを管理するとき、ロードバランサー配下ではうまくいかない例がありました。そこで memcached が利用できるようなのでこれを利用することにしました。
ということで以下の手順。

# yum install memcached

# chkconfig memcached on
# service memcached start

これで port 11211 が LISTEN していることを確認します。
またFWなどは適切に設定しておきます。

CentOSでは config ファイルは以下の場所にあります。
/etc/sysconfig/memcached
PORT="11211" #ポート
USER="memcached" #ユーザー
MAXCONN="1024" #同時接続上限数
CACHESIZE="64" #キャッシュサイズ
OPTIONS="" #オプション

とりあえずこれで memcached を利用することができるようになりました。

次の記事でPHPの設定です。

参考
PHPセッションをmemcachedで管理する件
memcachedをインストールする
memcached おすすめ起動オプションまとめ

stock_value at 14:42|この記事のURLComments(0)TrackBack(0)技術