質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3145閲覧

Gunicorn+nginxでDjangoアプリを起動すると、Python3系ではなく、Python2系で起動してしまう。

退会済みユーザー

退会済みユーザー

総合スコア0

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

3グッド

3クリップ

投稿2016/11/06 00:04

下記の質問をさせていただいた者ですが、原因が絞れてきたので、別途質問を上げさせていただきます。
https://teratail.com/questions/54048

VPS上でDjangoのアプリを公開しています。
サーバーのOS:Ubuntu 16.04.1 LTS
Pythonのバージョン:3.5.2
Djangoのバージョン:1.10.3

Djangoアプリを起動するにあたり、Gunicorn+nginxで動かしています。

今まで、Python2系で開発していたため、
models.pyは、下記のように、unicodeと書いていました。

python

1# python2系の時 2class Sample(models.Model): 3 id = models.IntegerField(primary_key=True) 4 name = models.CharField(max_length=40) 5 def __unicode__(self): 6 return self.name

Python3に変えるにあたって、下記のようにstrを用いる形に変更しました。

python

1# python3に変えた後 2class Sample(models.Model): 3 id = models.IntegerField(primary_key=True) 4 name = models.CharField(max_length=40) 5 def __str__(self): 6 return self.name

そして、本番環境においても、Python3.5.2がデフォルトなので、
python manage.py runserver
でアプリを起動した場合は問題なくPython3で起動するのですが、
gunicorn -w 1 -b 127.0.0.1:8000 example.wsgi
という形でGunicornを起動すると、
Python2が呼び出されてしまいます。
そのため、エラーが生じてしまっていました。
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 515, in spawn_worker
worker.init_process()
というエラーが出ていたため、気づきました。
どのようにしたら、Gunicornで起動してもPython3系として動いてくれるでしょうか?
お分かりの方、よろしくお願いいたします。

av-, Youhei-Sakura, etetetetetetete👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasahikoHirata

2016/11/06 03:11

gunicornのバージョンも開示してください。
退会済みユーザー

退会済みユーザー

2016/11/06 14:40

gunicornのバージョンは、19.4.5-1ubunです。
guest

回答1

0

ベストアンサー

下記のurlが参考になるかとおもいます。
「CentOS上でFlaskをpython3.4、Gunicorn + Nginxで動かす。」
http://qiita.com/teitei_tk/items/b223eeef1286a9fd7486

投稿2016/11/06 09:12

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/06 14:48

ご回答有り難うございます。 原因が分かりました。 gunicornがインストールされていたのですが、pip installでインストールしたgunicornではありませんでした。 pip freezeで調べた時にはgunicornがなく、dpkg -lで調べた時にあったので、分かりました。 pip installでgunicornを入れ直し、再起動したらうまく動きました。
MasahikoHirata

2016/11/06 14:54

良かった。検討をお祈りします。
nagaetty

2016/11/07 09:26

よかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問