投稿

11月, 2015の投稿を表示しています

静的WordPress向けNginxのfastcgi_cache設定

イメージ
WordPressで開発した静的ウェブサイトを公開するためにnginxの設定を見直したときの覚書。 環境: CentOS 6.7, nginx 1.8.0, PHP 5.6.15 fastcgi_cacheはPHP-FPMなどのバックエンドの結果をキャッシュする機能。 Nginxの設定ファイルの記述はWordPressの公式サイトを参考にした。 Nginx | WordPress Codex   設定ファイルをGistにアップしたのでこっちを見ながらの方が分かりやすいかも。 Nginx Configuration Files for WordPress | Gist   目次 FastCGIキャッシュ機能を有効に Nginxの設定ファイルを準備(キャッシュなし) キャッシュ機能が有効な設定ファイル Gzipの設定ファイル   1.FastCGIキャッシュ機能を有効に Nginx全体の設定なのでhttpディレクティブに記述する必要がある。 # cd /etc/nginx/ # less nginx.conf http {     # FastCGI Cache     fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=WORDPRESS:100m inactive=1d;     fastcgi_cache_key "$scheme$request_method$host$request_uri";     fastcgi_cache_use_stale error timeout invalid_header http_500; } ゾーン名: WORDPRESS 共有メモリ使用サイズ: 100M 保持期間: 1日間   2.Nginxの設定ファイルを準備(キャッシュなし) 各サイトごとの設定 # cd conf.d/ 共通の設定ファイルを作って、各サイトでincludeさせる。 まずはアクセス制限用設定ファイルを作成 # mkdir global # vi global...

TCP/IPとUNIX Socketの接続でどれくらい違うか

イメージ
NginxからPHP-FPMの接続とPHP-FPMからMariaDBの接続をTCP/IPとSocketで比較してみた。 環境: CentOS 6.7, nginx 1.8.0, PHP 5.6.15, MariaDB 10.0.22 基本的な概念は下記記事が分かりやすい。 nginx - 調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 - Qiita   リクエストはWindows上のab.exe(Apache Bench)からMac上のVMware Fusionの仮想マシン(CentOS)にあるWordPressに対して行う。 まずはPHP-FPMもMariaDBもTCP/IP接続で計測 C:> .\ab.exe -n 50 -c 5 http://dev.hoge.or.jp/ 1回目:14.03 [#/sec] 2回目:14.00 [#/sec] 3回目:19.92 [#/sec] 平均: 15.98 [#/sec] PHP-FPMへの接続をUNIX Socketに変えてみる。 PHP-FPMの設定 # less /etc/php-fpm.d/www.conf ;listen = 127.0.0.1:9000 listen = /var/run/php-fpm/www.sock Nginxの設定 # less /etc/nginx/conf.d/hoge.conf #fastcgi_pass  127.0.0.1:9000; fastcgi_pass   unix:/var/run/php-fpm/www.sock; サービス再起動 # /etc/rc.d/init.d/php-fpm restart # /etc/rc.d/init.d/nginx restart sockファイルをnginxから読み取れるように権限を変更しないと「502 Bad Gateway」になる # chown nginx.www /var/run/php-fpm/www.sock 計測実行 1回目:18.35 [#/sec] 2回目:17.64 [#/sec] 3回目:14.01 [#/sec] 平均: 16.66 [#/sec] ちょっとだけ速くなった。   次はMar...

アプリを別のアカウントへ移行(譲渡)

イメージ
Androidアプリ、iPhoneアプリを別アカウントへ移行させたときの覚書。   目次 Androidアプリを移行 iOSアプリを譲渡   1.Androidアプリを移行 公式ヘルプを参考に 別のデベロッパー アカウントへのアプリの移行 - Google Play デベロッパー ヘルプ 「デベロッパー コンソールの登録に使用した取引 ID」が少し分かりにくい。 Googleペイメント でデベロッパー登録したときの取引ID。 別料金もかからずすぐに反映された。   2.iOSアプリを譲渡 下記サイトが参考になる。 iTunes - App Storeに上がっているアプリを譲渡する方法 - Qiita 。。。一週間経っても移行先のアカウントにアプリが表示されないため、サポートに問い合わせてみた。 その後2回ぐらいサポートに督促のメールを送って、申請から約1ヵ月後に移行先アカウントにアプリが表示された。 メンバーセンターのApp IDsも移行される。 「Provisioning Profiles」は新規作成する。 別料金はかからなかった。   < Related Posts > Titaniumアプリでプッシュ通知(Push Notification)【iOS版】 Titaniumで作成したアプリをApp Storeに申請してみた

titaniumでビルドしたAPKファイルを解凍して中身をチェック

イメージ
titaniumでビルドしたAPKの中身がどうなっているか調査したときの覚書。 環境: Titanium SDK 3.5.1.GA 参考サイト Android apk の解析 - Qiita android リバースエンジニアリングのメモ | 開発メモ@uehi apkファイルはzip形式でアーカイブされているだけなので、unzipで解凍できる。 $ mkdir temp $ cd temp $ cp ../project/build/android/bin/hoge.apk ./ $ unzip hoge.apk assetsディレクトリに画像やフォントファイルがそのまま出力されている。 ソースコードはclasses.dexに入っているらしい。 これを変換するツールをダウンロードする。 dexからjarに変換するdex2jar pxb1988/dex2jar | GitHub そのjarをclassに変換するjad JAD Java Decompiler Download Mirror ダウンロードしたdex2jarを解凍。実行可能に $ unzip dex2jar-2.0.zip $ chmod +x dex2jar-2.0/*.sh 実行 $ ./dex2jar-2.0/d2j-dex2jar.sh classes.dex エラー Exception in thread "main" java.lang.UnsupportedClassVersionError: com/googlecode/dex2jar/tools/Jar2Dex : Unsupported major.minor version 51.0 JDK 1.7でないとダメみたい。 前の記事 などを参考にJDK 1.7にして再実行。 $ ./dex2jar-2.0/d2j-dex2jar.sh classes.dex dex2jar classes.dex -> ./classes-dex2jar.jar jarを展開 $ jar -x < classes-dex2jar.jar ダウンロードしたjadを解凍して実行可能に $ unzip jad158g.mac.intel.zip $ chmod +x jad ...

【Titanium】JDK 1.7だとエラーになるのでJDK 1.6をインストール

イメージ
Titaniumの開発でAndroidデバイスにインストールして動作確認しようとしたらエラーになったときの覚書。 環境:Mac OS X El Capitan 10.11.1, Titanium SDK 5.0.2.GA エラーメッセージ $ appc ti build -p android -T device [ERROR] Titanium requires JDK 1.6 when building on Mac OS X. [ERROR] You can download it from http://appcelerator.com/jdk-osx [ERROR] If you still see this message, then you may need to set the JAVA_HOME to help Titanium locate the JDK. [ERROR] To see which JDKs Titanium finds, run "appc ti info --types jdk --output json". 参考になったフォーラムの投稿記事 Titanium requires JDK 1.6 when building on Mac OS X | Community Q&A 結局JDKをインストールするしかないみたい。 公式サイトからダウンロードする Java for OS X 2015-001 インストールされた場所を確認 $ ls /Library/Java/JavaVirtualMachines/ 1.6.0.jdk       jdk1.7.0_80.jdk 1.7と切り替えたいので下記記事が参考になった。 MacでのJAVA_HOME設定 - Qiita java6に切り替えてみる。 $ export JAVA_HOME=`/usr/libexec/java_home -v 1.6` 確認 $ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home titaniumコマンドを使って確認 $ ti info --typ...

TV SlideViewの代替アプリ「sMedia TV Suite」を試す

イメージ
TV SlideViewのプラグイン が ZenFone 2 Laser に未対応で「お出かけ転送」出来ないので、代わりのDTCP-IP対応アプリを探したときの覚書。 自宅の環境 nasne(ナスネ) BDZ-EW510 | ブルーレイディスクレコーダー | ソニー AtermWG1800HP | 製品一覧 | AtermStation まずは昔使っていた Twonky Beam を試してみた(700円)。 転送途中でなぜかWifiが切断される。 → あとでルーターの設定とかいじってたら直った。 他にもDTCP-IP対応アプリがあったので購入してみた。 撮りためたTV番組を視聴 sMedio TV Suite - Google Play の Android アプリ 3つとも使ってみて、簡単な比較表を作ってみた。   TV SlideView Twonky Beam sMedio TV Suite 値段 500円 700円 900円 動画操作 CMスキップ (たまに失敗する) 30秒スキップ 10秒戻し 30秒スキップ 10秒戻し スキップが安定しない お出かけ転送 レコーダーがSony製ということもあり転送が安定してる 転送はバックグラウンドで行うので他の作業ができる BDZ-EW510から転送した動画の音飛びがひどい nasneとの連携は問題なし 転送中はアプリを切り替えてはダメ BDZ-EW510との接続がうまくいかないことが多い nasneとの連携は問題なし 転送中はアプリを切り替えてはダメ SDカード保存 × × ○ 使い勝手 使いやすい シンプルで分かりやすい 無駄なページが多くて使いにくい 感想 録画番組を削除する目的で使用中 悪くはない 「SDカード保存」が決めてでこれを使っている sMedio TV SuiteのUI改善を期待   < Related Posts > ASUS ZenFone 2 Laserを購入 Aterm MR03LN+激安SIMで自宅LAN構築。もう回線工事とかいらない Windows 8 + nasne + REGZA TV + Android + iPadで快適テレビ生活

PhpStorm10.0でTitanium開発用コード補完設定

イメージ
PhpStorm 10.0にアップグレードしてTitanium用コード補完を設定したときの覚書。   環境(WindowsからMac上のソースコードにアクセス) Windows: PhpStorm 10.0, Node.js 4.2.1 Mac: Node.js 0.10.37   目次 設定からダウンロードできない tsd typingsをインストール PhpStorm側で設定 Globalを個別に設定   1.設定からダウンロードできない PhpStormのSettings → Languages & Frameworks → JavaScript → Librariesから「Download...」しようとしてもtitaniumがなくなっている。。。 最近はTSDという TypeScirpt で書かれた書式設定用パッケージマネージャーを使うらしい。 Home | DefinitelyTyped DefinitelyTyped/tsd | GitHub   2. tsd typingsをインストール Macのコンソール上でtsdをインストール $ sudo npm install tsd -g titanium用書式設定を検索 $ tsd query titanium インストール $ tsd install titanium --save tsd.jsonとtypingsディレクトリが作成された。package.jsonとnode_modulesディレクトリの関係と同じ。 <2016/03/22 追記> tsdがdeprecatedになったのでtypingsに変更 $ sudo npm remove tsd --global $ sudo npm install typings --global 検索 $ typings search --name titanium 既存のtsdからアップグレード $ rm -rf typings $ typings init --upgrade $ typings install $ rm tsd.json   3.PhpStorm側で設定 Librariesの設定画面で「Add.....