年別アーカイブ: 2013年

さくらのレンタルサーバー、スタンダードのバージョンアップ

このブログはさくらのレンタルサーバーのスタンダードを使っているんだけど、最近、というか、思い出して見ると、そもそも最初からWORDPRESSの管理画面もページの表示も遅かった。

さくらインターネットの公式サイトhttp://www.sakura.ne.jp/を見ると、レンタルサーバーの強化を順番に行っているらしく、ハードディスク容量だけでなく、サーバーのスペック自体もアップグレードされるとのこと。だけど、自分のサーバーのメンテナンスの順番が来る予定は今のところまだないので、新しく契約しなおして、強化済みのサーバーを使ってみることにした(新しく契約した場合はディスク容量増強済みのサーバーが使えると書いてあり、CPUやメモリも強化済みみたい)。

さくらでは2週間のお試し期間(→さくらのレンタルサーバ スタンダード)があるので、お試し期間を利用して、サーバー移転をした。
FFFTPだと時間がかかるので、SSHでまとめてダウンロードとアップロードをして、ドメインの設定を切り替えて、データベースもダウンロードとアップロードして思ったより簡単に移転完了。

ドメインの切り替えでサイトにアクセスできない状態が長く続くんじゃないかと心配だったけども、ほぼリアルタイムで5分もせずに切り替えができた。

サーバーの違いは

旧サーバー
CPU Intel(R) Pentium(R) M processor 2.00GHz
メモリー容量 2GB

新サーバー
CPU Intel Xeon E312xx (Sandy Bridge)
メモリー容量 18GB

体感的にもはっきりわかるくらい管理画面とサイトの表示が早くなって嬉しい。正直ここまで早くなるとは思わなかった・・。今までWORDPRESSはああいうもっさりした物だと思っていたけど、あの遅さはサーバーの能力の影響だった。

ロリポップのレンタルサーバーのデータベースをMYSQL5.6に更新

ロリポップのデータベースを最新のMYSQL5.6に更新しようとしたらいくつか躓いたので解決までのメモ。

ロリポップの今のプランではデータベースは一個のみ作れる。なので一度は完全にサーバーからデータベースの情報が消えてしまうことになる。

まず、phpmyadminでデータをエクスポートした。後でわかったんだけどこの時全データがエクスポートできておらず、3割位エクスポートできていなかった。SSHが使えるならコマンドを入れてやると早いけど、ロリポの下位のプランでは使えないので、幾つかにわけでエクスポートしておけばよかった。

phpmyadminを使うとサイズが大きい場合エラーが出たことが以前にもあったので、他の方法を探すとbigdumpというフリーソフトを発見。最終的にはこれを使ったらSSHを使わずに1Gのデータでもインポートできた(bigdumpの使い方は検索するとすぐわかる)。途中いくつか失敗したので注意が必要。気をつけるのはインポートする前に、データをエクスポートする時に、phpmyadminの設定で「作成するクエリの最大長」を最初50000と表示されているのを変更しないとエラーが出るとのことで5000としたんだけど、これでも結局エラーで出たので、最終的に100にするとエラーが出なかった。

最初は5000と設定して、もう方法は分かったからOKと思い、前のデータベースを削除してMYSQL5.6のデータベースを作成してしまった。それからbigdumpを使いインポートしようとするとエラー(泣)。「作成するクエリの最大長」の設定が5000でも長過ぎるのか、とわかったけど、すでにデータベースは削除したので、もう一度「作成するクエリの最大長」を変更してエクスポートすることができない。

色々考えて、そうだ他のSSHが使えるサーバーのデータベースにSSHでデータをインポートして、そしてもう一度phpmyadminで「作成するクエリの最大長」を100にしてエクスポートすることにした。SSHを使うとphpmyadminを使う必要がない(SSHの使い方も簡単なので調べればすぐわかる)。この方法でやるとあっさり成功、最終的にデータの確認しても問題なかった。

MYSQL5.6に変更しても、サーバー名等以外は変更する必要がなく問題は起きなかった。

さくらのレンタルサーバーのデータベースをMYSQL5.1から5.5へバージョンアップ

さくらのレンサバのデータベースをMySQL5.1からMySQL5.5更新するとデータベースの速度が早くなるらしいのでさっそく更新してみた。
HELPを見たらデータベースは一度削除してからしか新しい物ができない、みたいな説明があった。

だけど、5.1から5.5の場合は説明と違うのか、削除せずに新しいデータベースを作れた。

最初にMySQL5.5で新しいデータベースを作り、そこへ前もってエクスポートしていたデータをインポートした。
そしてきちんとインポートできたのを確認してからMySQL5.1のデータベースを削除して完了。

きちんとデータの移行を確認してから削除できるので安心してできた。

プログラム側で変更するのは、

データベース サーバ
データベース名

自分の場合はこの2つだけで何も問題が起きなかった。

データのインポートとエクスポートはサイズが小さいならphpmyadminでいいけど、SSHが使えるならSSHでやったほうが圧倒的に楽。
サイズが大きくて、phpmyadminも時間切れになる場合は、手順が面倒だった。

中国、上海の浦東空港の無料wifiでスマートフォンを利用

上海の浦東空港で無料のwifiを使いスマホのネット接続をしてみたのでメモ。

上海の浦東空港(プートンジーチャン)でチャックインと手荷物検査を終え、国際線ターミナルの待合室まで歩き、時間があったのでスマホでwifiの電波をチェック。無料wifiらしき物を見つけた。

表示されたのは、

Boingo_Hotspot
ChinaNet-SPIA
FREE-AIRPORT-WIFI

主に使えそうな電波はこの3つだった。最終的に無料で利用したのは「FREE-AIRPORT-WIFI」というもの。

「Boingo_Hotspot」はBoingoの文字を見て、あ、あの飛行機を作っているボーイングがやってるサービスか、それにしては綴りがおかしいけど・・・、ボーイングなら無料で楽に使えそう、と思い試しに使おうとしたら登録が面倒そうで、そもそも無料では使えなさそうな感じだった。

あとで調べたら、「Boingo」は飛行機のボーイングのことではなかった・・。飛行機を作っているボーイングの綴りは「Boeing」。
wifiの電波画面に表示されていた「Boingo(ボインゴ)」というのは有料のwifiサービスをしている会社の名前だった。

「ChinaNet-SPIA」は中国電信(China Telecomチャイナテレコム)のサービスで、これも後で調べたら、登録すれば無料で使えるみたいだけど、その時は上手く出来なかったので使わなかった。

FREE-AIRPORT-WIFIの接続方法

最終的に、一番簡単だった「FREE-AIRPORT-WIFI」を使った。
使い方は、スマホのwifi設定の画面で、「FREE-AIRPORT-WIFI」を選ぶとちょっと不安になる雑な作りの登録画面が表示される。英語と中国語の画面が選択できたと思う。たしか国名を選択する部分と、携帯電話の電話番号を入れるところがあって、登録するとすぐに(といっても数秒ではなく数十秒とか)ショートメールが送ってくる。

海外で例えば日本のドコモの携帯のショートメールを発信すると一通100円かかるけど、受信は無料なので、この登録でも携帯で料金は発生しない。

ショートメール内にパスワードとログイン画面が表示されるので(password:~http:/~ can login[浦东无线]みたいに表示されてた)、それを入れたらネットが使えるようになった。この時パスワードを一回入れても一回目はできなくて何回か試したらいつの間につながったという感じ。速度は普通にストレス無いレベルで何も問題は無かった。

ネットを使うのに一番便利なのは料金を気にしなければ、圧倒的にドコモとかの国際ローミングサービス(WORLD WING)で海外パケホを使うことだけど、ドコモで1日1980円~MAX2980円必要、ただ中国では見れないサイトとか使えないサービスも普通に使えるし、設定も何もしないでそのまま日本といるときとおなじ感覚で使える点は便利。

その他

いくつか調べてみた。

海外専用グローバルWiFiを利用すると海外パケホよりはかなり安くなる。これはwifiルーターをレンタルするというもの。私がチェックした時は中国での利用は1日670円だった。保証とかのオプションつけると少しずつ高くなる。wifiルーターを借りたり、wifiルーターを持ち運ぶ必要がある。

空港にカウンターがあるモベルの海外携帯電話サービス中国現地携帯を購入する方法。たぶん日本で日本語で購入できるのが利点。

楽天とかヤフオクを見ると中国の携帯がすぐ使える状態で売られていたりもする。この辺になると、もう現地で自分で携帯とSIMカード買ったほうがいい気もする。

【楽天】中国の携帯
【ヤフオク】中国の携帯

以上、上海のプートン空港での無料wifiの接続方法のメモ。

GoogleAppEngineで Python 2.5からPython 2.7へ切り替えた時文字化けする場合(テンプレート使用時)。

GoogleAppEngineで Python 2.5からPython 2.7へ切り替えは簡単にできたけど、なぜかテンプレートを使っているサイトが文字化け(タグがタグとして働かずそのまま表示されたり)する。

from google.appengine.ext.webapp import template

このテンプレを使用していたサイトで文字がおかしくなった。この中にはDJANGOというテンプレートエンジンが入っているらしい。

いろいろ調べたら、テンプレートの中のDJANGOのバージョンが上がったのが原因だった。プログラム自体は何もイジる必要はなくて、テンプレファイル側を書き換えるだけで良かった。それまで自動エスケープされていなかったのが、バージョンアップ以降自動エスケープされているのでHTML関係の文字の扱いを気をつけないといけない。

Django テンプレート言語

テンプレートブロック単位の制御
テンプレートで自動エスケープを制御するには、テンプレート (または テンプレートの一部) を、以下のように autoescape タグで囲みます:

{% autoescape off %}
こんにちは {{ name }} さん
{% endautoescape %}

上記の通り対処法は簡単で、指定のタグでテンプレ内のエスペープ処理してほしくない部分を囲むだけ。以上で解決。