そのときの記録。
今回はMySQLを使ったPyramidプロジェクトをwsgiで運用動作させてみる。
- 環境
MacOS 10.8.2
Python 2.7.3 (MacPortsでインストールしたものを使用する)
MySQL 5.5.28 (MacPortsでインストールしたものを使用する)
py27-pip 1.2.1 (MacPortsでインストールしたものを使用する)
Apache 2.2.7 (標準でインストールされているもの)
(mod_wsgiはソースを落としてきてインストール)
Eclipse 4.2.1
Pydev 2.7.1
Python 2.7.3 (MacPortsでインストールしたものを使用する)
MySQL 5.5.28 (MacPortsでインストールしたものを使用する)
py27-pip 1.2.1 (MacPortsでインストールしたものを使用する)
Apache 2.2.7 (標準でインストールされているもの)
(mod_wsgiはソースを落としてきてインストール)
Eclipse 4.2.1
Pydev 2.7.1
MySQLをMacPortsでインストールし、そのMySQLを使うPyramidプロジェクトも作成した。http://localhost:6543で表示する開発環境ではちゃんとMySQLと接続されて動作している。
- MacPortsでinstall mysql
- MySQLを使うPyramidプロジェクトを作成する。
/tmp/mysql.sockにソケットを造るようにmy.cnfを修正する。
詳しくは、「3. MySQLのインストール」を参照。
詳しくは、「3. MySQLのインストール」を参照。
詳しくは「4. MySQLを使うPyramidのプロジェクトを作る」を参照。
「1. インストールとmod_wsgiでの動作」と同じようにwsgi関係のファイルをapache.confとPyramidプロジェクトの場所に作成する。
まず、pyramid.wsgiは、~/env_mysql/へ。その内容はこれ。
from pyramid.paster import get_app, setup_logging ini_path = '/Users/me/env_mysql/MyProject/production.ini' setup_logging(ini_path) application = get_app(ini_path, 'main')
modwsgi.confは、/etc/apache2/other/へ。
WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On WSGIDaemonProcess pyramid user=me group=staff threads=4 \ python-path=/Users/me/env_mysql/lib/python2.7/site-packages WSGIScriptAlias /myproject /Users/me/env_mysql/pyramid.wsgi <Directory /Users/me/env_mysql> WSGIProcessGroup pyramid Order allow,deny Allow from all </Directory>
これらのファイルを置いた後は「$ sudo apachectl restart」でapacheを再起動させておく。
で、http://localhost/myprojectに表示される。
そのはずなのに、エラーが発生する。
/var/log/apache2/error_logを見ると、libmysqlclient.18.dylibが見つかっていないようだ。
このファイルは「/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib」にあるので、「/usr/lib/libmysqlclient.18.dylib」としてシンボリックリンクを作成する。
これで、http://localhost/myprpjectを見に行くとPyramidのページが表示される。
次回は、レコードの一覧や追加削除などの基本的な動作をするアプリを作成する予定。
で、http://localhost/myprojectに表示される。
そのはずなのに、エラーが発生する。
/var/log/apache2/error_logを見ると、libmysqlclient.18.dylibが見つかっていないようだ。
このファイルは「/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib」にあるので、「/usr/lib/libmysqlclient.18.dylib」としてシンボリックリンクを作成する。
$ sudo ln -s /usr/lib/libmysqlclient.18.dylib /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib
これで、http://localhost/myprpjectを見に行くとPyramidのページが表示される。
次回は、レコードの一覧や追加削除などの基本的な動作をするアプリを作成する予定。
0 件のコメント:
コメントを投稿