ServersMan@VPS は、仮想化基盤が OpenVZ なので、Ubuntu 10.04 から 12.04 へのアップグレードができないとか、ufw(ファイアーウオール)が使えないとか、イロイロ苦労した。
今度は、KVM かな?? と探してみると、お手頃なのをみつけた。
それは、ABLENET VPS です。
1CPU,512MB,50GB で 480円/月と、ServersMan@VPS と同程度の価格。
標準OS は、CentOS だけど、Ubuntu や FreeBSD なども選択できます。
とりあえず、Ubuntu(12.04) とか、Debian とか、インストールしてみたけど、コントロールパネルが使いやすくて、ナカナカ良いです。
コントロールパネルからVNCコンソールを使うには、JAVA が必要なので、こちらを参考にして、パソコン(Xubuntu12.04)に、JAVA をインストールしました。
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
これから、あれこれ試してみようと思います。
2013年3月9日土曜日
2013年3月2日土曜日
GAE/P + Django1.4 で、セッションを使う
GAE(Google App Engine)/P + Django1.4 で、セッションを使う方法です。
バックエンドに、キャッシュを使ってます。
プロジェクトの雛形は、こちらを参考にしましたが、Django1.4 では、CACHE_BACKEND = 'memcached:///' は使えません..
/app
app.yaml
main.py
favicon.ico
/project
__init.py__
settings.py
urls.py
views.py
/templates
index.html
-- app.yaml --
application: <アプリケーション名>
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
libraries:
- name: django
version: "1.4"
-- main.py --
import os, sys
import django.core.handlers.wsgi
from google.appengine.api import memcache
sys.modules['memcache'] = memcache
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
app = django.core.handlers.wsgi.WSGIHandler()
SESSION_ENGINE には、キャッシュを使います。
CACHES の BACKEND に、memcached を使います。
-- settings.py --
import os
DEBUG = True
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False
LANGUAGE_CODE = 'ja-jp'
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
)
INSTALLED_APPS = (
'django.contrib.humanize',
'project'
)
ROOT_URLCONF = 'project.urls'
ROOT_PATH = os.path.dirname(__file__)
TEMPLATE_DIRS = (
ROOT_PATH + '/templates',
)
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
}
}
request.session['<キー名>'] = '<データ>'
セッションデータの読み出し
xxx = request.session['<キー名>']
http://docs.djangoproject.jp/ja/latest/topics/http/sessions.html
キャッシュフレームワーク
http://docs.djangoproject.jp/ja/latest/topics/cache.html#topics-cache
バックエンドに、キャッシュを使ってます。
プロジェクトの雛形は、こちらを参考にしましたが、Django1.4 では、CACHE_BACKEND = 'memcached:///' は使えません..
1.ディレクトリー構成
Django1.4標準のディレクトリ構成とは若干異なりますが、あまり気にしなくても良いかと。/app
app.yaml
main.py
favicon.ico
/project
__init.py__
settings.py
urls.py
views.py
/templates
index.html
2.app.yaml
Python2.7 + Django1.4 を使います。-- app.yaml --
application: <アプリケーション名>
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
libraries:
- name: django
version: "1.4"
3.main.py
sysモジュール'memcache'を、google.appengine.api.memcacheにエイリアスしています。-- main.py --
import os, sys
import django.core.handlers.wsgi
from google.appengine.api import memcache
sys.modules['memcache'] = memcache
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
app = django.core.handlers.wsgi.WSGIHandler()
4.settings.py
MIDDLEWARE_CLASSES に、SessionMiddleware を追加。SESSION_ENGINE には、キャッシュを使います。
CACHES の BACKEND に、memcached を使います。
-- settings.py --
import os
DEBUG = True
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False
LANGUAGE_CODE = 'ja-jp'
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
)
INSTALLED_APPS = (
'django.contrib.humanize',
'project'
)
ROOT_URLCONF = 'project.urls'
ROOT_PATH = os.path.dirname(__file__)
TEMPLATE_DIRS = (
ROOT_PATH + '/templates',
)
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
}
}
5.views.py
セッションデータの書き込みrequest.session['<キー名>'] = '<データ>'
セッションデータの読み出し
xxx = request.session['<キー名>']
6.参考
セッションの使い方http://docs.djangoproject.jp/ja/latest/topics/http/sessions.html
キャッシュフレームワーク
http://docs.djangoproject.jp/ja/latest/topics/cache.html#topics-cache
登録:
投稿 (Atom)