2012年3月29日木曜日

Wordpress高速化のためにApacheからNginxに移行(基礎知識編)

apache_to_nginxApache + Wordpressで運用していると高負荷時にResponseが極端に遅くなることがあったので、最近人気のNginx(えんじんえっくす)を導入することにした。

Nginxは軽量なWeb Server。Requestを非同期に処理するので高負荷時でも安定した性能を発揮できる。

詳細に関しては下記Siteを参考に。

既存のApacheの環境で提供している下記機能もnginxでSupportされていたので安心。

  • Basic認証
  • SSL
  • URL Rewrite
  • Virtual Server(仮想サーバ)

ただnginxでphpの処理をするためには、phpをCGIとして起動して、要求を渡すためのSoftwareを自前でInstall, 設定しないといけない。

今はPHP5.3からbundleされたphp-fpmを使うのが主流らしい。もう一つ有名なspawn-fcgiとの違いは下記。

さて、次回からは実際にapache(xampp for linux)の環境にnginxを導入して、移行してみる予定。

 

< Related Posts >

2012年3月27日火曜日

[Google Apps]複数Domainを管理している場合にDKIMを設定してviaが出ないようにする

google_apps_send_mail_setting_dkimGoogle Appsで複数のDomainを管理してる場合、Primary domainに設定してあるDomain以外でE-mailを送信するときに「via hoge.net」のように表示されるのを消す方法。

各DomainにDKIMを設定すれば大丈夫みたい。

DKIMの詳細と設定方法は前の記事を参考に。

DKIMを設定し終わったら、Gmailの設定画面で"Send mail as(送信元)"を設定し直す。smtp.gmail.comにLoginするためのUsernameはPrimary domainのAccountを使う。

 

< Related Posts >

2012年3月26日月曜日

Blogの更新をサボっていたら閲覧数が急激に落ちた

blogger_access_down仕事が忙しいのと日本に帰ってたのもあって、Blogを更新しなかったら、急激に閲覧数が落ちたので記録しとく。

Google AnalyticsのGraphは次のような感じ。

image

最後にBlogを更新してから10日後に急激に落ち込んでいる・・・。前にも似たようなことがあったので、ほっとけば直るのかなと思いつつ様子見。

Google AdSenseの収益額が特に変わらないのは不思議。

Google Analyticsの公式Helpも参考に。

Google Webmasterの「検索クエリ」も特におかしな所は見当たらない。。。

image


< 2012/04/05 Modified >
前の記事で設定したFilterの機能が悪さをするようになったみたい。Filterを削除したら前と同じ数値ぐらいに戻った。

もしくは、このBlogは直接参照されておらず、違うURLで参照されるようになったのかな?

image

 

< Related Posts >

2012年3月7日水曜日

iPad App用の画像(見栄え)をSafari経由で簡単に確認するHTML

ipad_app_preview_in_safariiPad Appの電子Catalogを作成しているときに、Designerの人から写真の画質を実機で簡単に確認したいという要望があったので、Safariを使ってAppっぽく表示する方法。

あくまでもiPadの使い方をよく知らない人向けの簡易的な方法。

大量の写真、画像をiPadに取り込みたいときは下記を参考に。

確認したい画像と下記HTMLをWeb Serverに置いてSafariで表示する。

<html>
<head>
    <meta name="apple-mobile-web-app-capable" content="yes" /> 
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
    <style>
body {
    margin: 0;
    padding: 0;
}
    </style>
</head>
<body>
    <img src="hoge.jpg"/>
</body>
</html>

"hoge.jpg"の画像Sizeは1024px x 768px

Safariで表示 → "Add to Home Screen"でHomeにShortcutを作成 → 起動
すると全画面っぽく表示できる。

 

< Related Posts >

2012年3月6日火曜日

iOS Appの動作確認するためにXcodeにDevice(iPad)を登録

xcode_ipadProBridgeDesignerを使って、Adobe InDesignからiPad Appに変換する際にiPadで動作確認するための方法。

環境:
   Mac OS X 10.6.8 Snow Leopard, Xcode 3.2.6
   Mac OS X 10.7.3 Snow Leopard, Xcode 4.2.1

iOS Developer Programの登録とXcodeのInstallは済んでいる前提。

参考にしたのは下記Site.

詳しくは上記Siteを参照してもらうとして、以下登録完了するまでのLog.

 


1. 証明書の申請

  1. "Keychain Access"を起動
  2. Preferences → Certificates
    のOCSP, CRLがOffになっているのを確認。
  3. Keychain Access → Certificate Assistant → Request a Certificate From a Certificate Authority...
    を選択して、
    User Email Address: (Developer登録したE-mail)
    Common Name: (User Name)
    CA Email Address: (blank)
    "Saved to disk"と"Let me specify key pair information"をCheck
  4. "2048 bits", "RSA"を選択して"Continue"
  5. 出力したFileをiOS Developer CenterのiOS Provisioning Portal - CertificatesへUpload

 

< 2012/10/25 Modified >
証明書は1台分しか申請できない。複数のMacで開発する場合は最初のMacからExportする必要があるらしい。詳細は下記Siteで。

 


2. 証明書の取得、Keychainに登録

  1. Listに戻ると「Pending Issues...」になっているので、この間に「* If you do not have...」からWWDR intermediate certificateをDownloadして、DoubleClickを実行してKeychainに登録する
  2. しばらくして更新すると「Pending Issues...」が「Download」に変わっているので、Download → Double ClickしてKeychainに登録。

 

 


3. Device(iPad)をiOS Provisioning Portalに登録

  1. iOS Provisioning Portal - Devicesの"Add Devices"
  2. 任意の名前とDevice IDを登録
  3. Device IDはXcodeを起動して、Window → Organizerで確認

 

 


4. App IDをiOS Provisioning Portalに登録

  1. iOS Provisioning Portal - App IDsの"New App ID"
  2. DescriptionとBundle Identifierを登録

 

 


5. Provisioning Profileの作成、Download

  1. iOS Provisioning Portal - Provisioningの"New Profile"
  2. Profile Nameは任意。他は今まで登録した内容が表示されているので選択
  3. 生成したProfileをDownload

 

 


6. Xcode(3.2.6)にiPadを登録(失敗)

  1. Xcodeを起動して、Window → Organizerで接続しているiPadを選択
  2. "Use for Development"をClick
  3. iOS Provisioning Portalに接続するので、Developer登録したEmailとPasswordを入力

ここでiPadのiOSが5.0.1なので、Xcodeが対応していなくて次のようなError.

image

ProBridgeDesignerのSupportに問い合わせると"最新版はXcode4に対応しています"とのことだったので、Supportのページから最新版をDownload.
※購入した際にDownload出来るのは古いVersionなので注意

 

 


7. Xcode(4.2.1)にiPadを登録

Xcode 4.2.1がInstallしてあるPCでもう一度登録し直し。

  1. iOS Provisioning Portal - Certificatesの登録済みを削除
  2. 「1.証明書の申請」「2.証明書の取得、Keychainに登録」を行う
  3. 作成したProvisioning ProfileをDownloadしてXcode - Organizerに登録

image

 

< Related Posts >

2012年3月5日月曜日

jQuery Plugin"jScrollPane"でScrollbarのStyleを変更する

jquery-jScrollPaneScrollbarのDesignを変更する方法. CSSだけで出来るかと思ったらJavaScriptで実現した方がBrowser間の差異がなくていいみたい。

参考にしたSiteは下記

jScrollbarが良さそうだったけど、jQuery UIが必要だったので、
jQueryとjquery-mousewheel
だけで動く、jScrollPaneを使うことにした。

Wordpressで動かすためのSample.

必要なFileをfunctions.phpなどで設定

$base_url = get_template_directory_uri();
wp_enqueue_script('jquery', $base_url . '/js/jquery.js', null, '1.6.4');
wp_enqueue_script('jquery-mousewheel', $base_url . '/js/jquery.mousewheel.js', array( 'jquery'));
wp_enqueue_script('jquery-jscrollpane', $base_url . '/js/jquery.jscrollpane.js', array( 'jquery', 'jquery-mousewheel'));
wp_enqueue_style('jquery-jscrollpane', $base_url . '/css/jquery.jscrollpane.css' );

ScrollするContentsとPluginの呼び出し

<div class="scroll-pane">
...hoge...
</div>
<script>
jQuery(function($) {
    $('.scroll-pane').jScrollPane({autoReinitialise: true});
});
</script>

cssを調整

.home .jspVerticalBar {
    width: 5px;
    background: #333;
}
.home .jspDrag {
    background: #999;
}
.home .jspTrack {
    background: #333;
}

image


< 2012/04/17 Modified >
"autoReinitialise"をtrueに設定すると、reinitialiseIntervalで設定した時間ごとに再描画する。YouTubeなどをiframeで埋め込んでいると再読み込み時にぶれたりする(Firefox or IE)ので、Window Sizeを変更するときなど自前でjScrollPaneを初期化した方がいい。

jQuery(function($){
    var jFrame = $('#content').find('.page-content');
    jFrame.jScrollPane();

    $(window).resize(function(){
        jFrame.jScrollPane();
    });
    $(window).resize();
});

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives