Wordpress

Nginx+WordPress+ServersManVPS等もろもろ

あとしなければいけない事を合わせてブログネタとして書いておく。項しておくことで備忘録にもネタ整理にもTodoにもなるという優れもの。設定はしていても記事にしていないものもあったりだけど(すでにログとか無いものもあるしな)

  1. さくらインターネット(スタンダード)から ServersMan VPS(エントリ)に移設してみた
  2. WordPressのために、nginxという選択肢 [1]
  3. nginxの導入と初期設定
  4. nginxのリバースプロキシ設定
  5. access_logの管理と解析
  6. ヴァーチャルホストの設定の注意点
  7. MySQLのパフォーマンスチューニング
  8. サーバ監視(nagios+cacti)の基本設定
  9. ServersMan VPS 環境での監視ポイント
  10. ログ監視の仕組み
  11. 簡単なセキュリティ対策

これまでどおりGoogle AnalyzeとかWordpress Statsとかは使っていてもどうしてもサーバ全体で見ておかないとこのブログ以外にも移動してくる予定なので困ることになる。なのでこれくらいはやっておかないと不安だということと勉強がてらちょうどいい。

[wordpress][nginx] WordPressのために、nginxという選択肢 [1]

ちょっとサーバのお引越しを検討しています。もろもろ遊びたいこともあるのでWebサーバレンタルタイプじゃなくてVPSを借りようと計画しています。そうなると当然全てサーバアプリケーションを自分で導入していかなければならないのですが久しぶりに楽しんでいます。


昔ながらのApache+PHPではなくて最近ではNginx(これは「エンジンエックス」と呼ぶ)というのが流行りだと(流行っているのかはわかりませんが・・)Google先生に教えてもらったのでこの構成で構築を行っていきたいと思います。よくあるJavaアプリケーションサーバのような感じの構成になりそうなので馴染みは深い感じです。 WordPressのチューニングでもこのNginxが登場してきました、このNginxのプロクシ機能を利用してフロントでキャッシュをしてしまおうというのが目論見のようです。

  • 従来のサーバとは異なり、Nginxはリクエストの処理をスレッドに依存していません。その代わりにもっとスケーラブルな(非同期の)イベント駆動アーキテクチャを使用しています。このアーキテクチャはメモリ使用量が少ないだけでなく、最も重要な事として、稼働時のメモリ使用量が予測可能であるということです。

と記されているのが特徴です。node.jsなどと同じイベント型のWebサーバです。Wordpress(PHP)主体のWebサーバで、低価格のVPSにありがちなメモリが少ない環境ではNginxのほうが良さそうです。

  • 軽量高性能なWebサーバ/リバースプロキシであり、同時に電子メール(IMAP/POP3)プロキシである

とされていて何でも出来る凄い奴という感じです。


さて今回はこのような構成で作りたいと思います。

クリップボード01
Nginxの構成 Photo by tokiyan

見てもらうとわかりますが 一段目がリバースプロキシ(キャッシュ機能付き)として受けます。このキャッシュは動的コンテンツに対しても有効なので除外しておきたいものは定義してDirectにバックエンドにつなげるようにします。ここでのバックエンドは “Web Server” として定義されている nginx (8080)が該当します。 WebサーバとしてのNginxは、次に仮想サーバの定義がされているので適切な名前で呼ばれたサーバを振り分けます。 最終的に、WordpressなどのPHPは、FastCGIの仕組みで処理されます。今回は spawn-fcgiを用いてデーモン化しました。選択肢としてはphp-fpmなどもあります。DBは定番のMySQLを選択していこうと思います。


数年前から脳みその時が止まっていたのでちょっとへ~ってな感じでしたが一応構成ができました、次回以降で一つづつ導入や設定について書いていきたいと思います。各アプリケーションごとにチューニングなども必要になってきますのでしばらくは運用しながらと思います。

[wordpress] 記事のタイトルを好きなフォントで表示する

ホントはがっつりデザインを変えたい気分なんですがそんな暇もないのでちょっとだけ弄ってみる。

デザインセンスは自身がないので基本はマネするかしかないのだけどちょっとつづ変えて自分の味を出していきたいと思って入る。でも広告入れたりなんだかんだとどんどん波状していくのが毎度だ。トータルで拡張できている人のサイトを見るとほんと惚れる。

さて、今回はブログの記事などを好きなフォントを使って画像にしてみる。

昔ながらのやり方であれば文字を画像化して表示させる方法、もうひとつはWebfontを使う方法。デザインとか考えると画像にするのがいいのだろうけどWebfontの場合にはCSSだけの設定なので楽。但しWebfontは対応していないブラウザの場合には何も反映されないので注意が必要。

1. 画像としてフォントを変更する

WordPress Plugins/JSeries ≫ wp-tegaki

投稿エントリ内のタグで指定した文字列を指定の TrueType フォントで出力する WordPress 用プラグインです。

このプラグインは記事の中の文章中のフォントを簡単に変えることができます。「Tegaki」を試してみました。

使い方

エントリに

[tegaki]文字列[/tegaki]

という形式でエントリ内に記述を行えば、上記デフォルト設定で文字が TyreType 出力されます。

また、タグ拡張によりデフォルト値を上書きできます。 HTML の属性と同じように[テガキ 属性1=”値” 属性2=”値”…] 形式で書きます。 使える属性は、

font=”フォントファイル名”
TyreType フォントの指定

size=”大きさ”
文字の大きさ

color=”#文字色”
文字色の指定

bgcolor=”#背景色”
背景色の指定

[tegaki]こんな感じになります[/tegaki]

但しこの場合、エントリ内部のフォントしか変更できないので残念ですよね。個人的にはタイトルこそ変更したかったのですが。

The TTFTitles WordPress Plugin @ WordPress Plugins

This is primarily a reworking of the Image Headlines plugin by Brian “ColdForged” Dupuis, so that it would work in WordPress 2.3. Of course, THAT was a reworking of another plugin by Joel Bennett. Anyway, this plugin lets you replace text on your site (titles specifically, but you can actually replace just about anything) with atttractively rendered TrueType Fonts images.

次に、このプラグインではタイトルを変更することが出来ないのでこちらのTTFTitleを用いてタイトルを変更することが出来ます。このプラグインはタイトルの表示用の関数を the_ttftitle() に変更するためプラグインに問題があったりすると困るのですが自由にフォントが変更できるのはイイですね。

実際には、テーマの編集で対象となる項目を変更することが必要です。少なくとも、「single.php」と「index.php」の the_title() の箇所を the_ttftitle() に修正することが必要です。

利用方法

<?php the_ttftitle(before, after, display, style, overrides); ?>
<?php the_ttftext(text, style, overrides); ?>

image

2. WebFontを使用して簡単にフォントを変更する

まず、利用可能なフォントを探す必要があります。

WebFonts として利用できるフリーの和文フォント | ヨモツネット

WebFonts はとても便利で今まで似なかった表現ができる仕組みですがフォントファイル使用時のライセンスは難しく、本当に使えるのかがわかりづらいです。そこで一つずつライセンスを読み、WebFonts として利用できるフォントをまとめてみました。この記事内でもライセンス条文の抜粋を引用していますが、全文ではないのでフォントの利用時にご自身で再度ご確認ください。もし私の解釈に間違いがあったら指摘していただければ幸いです。

使えるフォントを探しましょう。 今回は「あんずもじ」を利用させてもらっています。

CSSでの指定は非常に簡単です。

[ccn_css]

@font-face {
font-family: ‘anzufont’;
src: url(‘http://roguer.info/wp-content/plugins/ttftitles/fonts/APJapanesefont.ttf’) format(truetype);
} [/ccn_css]

これで指定ができます。

にも書かれてるので参考になります。実際に指定は定義した font-family 名を指定すると利用することが出来るので非常に便利です。

  • デコもじ|ウェブフォントで、ホームページが、ブログが、もっと楽しくなる♪
    http://decomoji.jp/

Webfontは指定が楽なので便利ですがその分フォント情報をサーバからダウンロードするため若干重くなる傾向があります。特に日本語フォントの場合にはサイズも大きくなりますので。

3. 使ってみる

さて、実際に「あんずもじ」を利用して定義してみました。タイトルは画像でその下の「コメントが有りません」などの部分はWebfontを利用しています。

image

最後に紹介したWebfontが一番の本命かと思う。
うまく利用すれば結構いい感じにサイトのデザインを調整することが出来そうだ。ただしライセンス等もあるのでやはり今までどおり画像で表示することもあると思う。いまさら感があるのだがようやく文字のために画像を画像編集ソフトで作らなくてもよさそうだ。

Update1:現在の時点で変更があり使用していない可能性も有ります。

[WordPress] 記事を読む所要時間を表示させるプラグイン

昔に入れようと思っていてすっかり忘れていましたが、ふと使用されているサイトを見つけ思い出しまいた。こういう細かいツールは良いですね、楽しいです。

ITキヲスク | 記事を読む所要時間を表示させるWordPress用プラグイン「estimated」作ってみました。

先日、「たった一行追加するだけでサイトの滞在時間を13.8%伸ばす方法・・・」というタイトルで百式さん(←idea*ideaさんの間違いです。申し訳ありません。。。)が紹介されていた、記事の冒頭に”記事を全て読み終えるまでにかかる、おおよその所要時間”を表示させるというワザですが、自分、勉強も兼ねてWordPressプラグインとして作ってみました!

 

書かれているように滞在時間が伸びるというのがあるのかないのかわかりませんが。Google Analyticsによるとこの際の平均滞在時間は2分弱の模様です。

image

しばらく使ってみてこれから増えるといいですが。

[WordPress] CSS/JSを圧縮して少しでも早くする

正直このレスポンスだと見る気が起きない。。このブログが遅くてちょっとイライラする。画面が表示しない、かと思えばすっと表示されたりすることもありよくわからない。他のサーバにとも思うけど。。(現在さくらインターネットスタンダードプランです)

さくらインターネットのコンパネから「リソース状況」→「CPU利用時間」を見てみました。

image

だいたいこんな感じです。Index.phpで1分以上かかっているとか(いつもではないです)、、、よくわからんorz  もっと調べてみないとよくわからないですね。何か重たい物があるせいなのか・・

image

Web側のアクセスツールを見てみると、503と500で2%程度あるのがわかります。「500 Internal Server Error 」もトップページで表示されたりもするのでPHPなどに問題があるわけではない気がしています。

というわけでhttp://www.webpagetest.orgでチェックをしてみました。

  • リンクが切れていたり、アクセスに時間がかかる物をチェック
  • 外部サイトの利用で遅いものをチェック

 

Cronの利用頻度を下げる

ちょっとCronも利用しているため現行の15分単位に実行されるものを2時間おきに変更しました。

プラグインを外す

色々見てみるとプラグインで重い感じの物があるので外してみました。基本的には外す気がなかったのですが一部のプラグインでテスト結果で非常に遅いものを除きました。今回はSyntaxにカラーをつけてくれる複数のプラグインで遅かったのでひとつのみにしました。

「Head Cleaner」 プラグインを導入する

CSSとかJSとかの読み込みに時間がかかっているように見受けられたので最適化をおこなってみました。先程のチェックツールで確認するとJSとCSSが圧縮されているのがわかります。時間もだいたい半分程度に鳴っているのでかなりいい感じです。(圧縮とかすると逆にCPUを使いそうな気もするが)

・色々弄る前(但し時間帯も混んでいる付近)
image

・いじった後 (これは変わりすぎなので・・)
image

ちなみに先日のDB Cache のログ上では

Generated in 0.871 seconds.
Made 29 queries to database and 10 cached queries.
Memory used – 23.7MB

な感じですね。

先日の、「[Wordpress] DB Cache Reloaded プラグインを入れて高速化 at Roguer http://roguer.info/2011/01/09/3598/ 」で早くなったかなぁと思ったら変わっていなかったので今回は期待して明日を楽しみにしたいと思います。。。

上部へスクロール