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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Django

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

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

Q&A

解決済

2回答

5274閲覧

mod_wsgiをデーモンモードで使用出来ません

am120sec

総合スコア14

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Django

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

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

0グッド

0クリップ

投稿2017/07/08 21:19

編集2017/07/09 05:01

http://mydomain.jp/にアクセスしたときにDjango(python)のアプリケーションを使える環境にしたいのですが、
どうも設定がうまく出来てないようで、http://mydomain.jp/にアクセスしてもInternal Server Errorが出てしまいます。
(mydomainは私が取得しているドメイン名としてください)

WSGIScriptAlias / /var/www/site/wsgi.py

具体的には/var~~からの先のコードなのですが

  1. mod_wsgiをインストールした際に作られたファイルのパスを指定?
  2. 実行したいファイルパス(/var/www/site/hello.py)を指定?
  3. http://mydomain.jpはどこにも記述しなくてもよいのか?

はたまた、まったく関係ないところで設定が出来ていないのでしょうか・・。

当方の環境は下記のとおりです
(index.htmlを使用すればhttp://mydomain.jpから開くことができていますのでApacheは正常に動作しています)
Python 3.5.3
CentOS 7.3.1611
Apache 2.4.6
MySQL5.7.18

試しているコード全文です↓

[httpd.conf]

WSGIDaemonProcess test-app user=test group=wheel threads=5 WSGIScriptAlias / /var/www/site/wsgi.py <Directory /var/www/site/> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory>

[/var/www/site/hello.py]

def application(environ,start_response): status = '200 OK' output = 'Hello World!' response_header = [('Content-type','text/plain'), ('Content-Length',str(len(output)))] start_response(status,response_header) return [output]

ディレクトリ構造↓

/var/www/site/
|-- init.py
|-- pycache
| |-- init.cpython-35.pyc
| |-- settings.cpython-35.pyc
| |-- urls.cpython-35.pyc
| `-- wsgi.cpython-35.pyc
| --hello.py
| --settings.py
| --urls.py
| --wsgi.py

[apache error_log]

[Sun Jul 09 13:58:11.082066 2017] [mpm_prefork:notice] [pid 27140] AH00170: caught SIGWINCH, shutting down gracefully [Sun Jul 09 13:58:12.198682 2017] [suexec:notice] [pid 27265] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Sun Jul 09 13:58:12.218016 2017] [auth_digest:notice] [pid 27265] AH01757: generating secret for digest authentication ... [Sun Jul 09 13:58:12.218726 2017] [lbmethod_heartbeat:notice] [pid 27265] AH02282: No slotmem from mod_heartmonitor [Sun Jul 09 13:58:12.223378 2017] [mpm_prefork:notice] [pid 27265] AH00163: Apache/2.4.6 (CentOS) mod_wsgi/3.4 Python/2.7.5 configured -- resuming normal operations [Sun Jul 09 13:58:12.223404 2017] [core:notice] [pid 27265] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND' [Sun Jul 09 13:58:15.424388 2017] [:error] [pid 27271] [client 111.104.38.104:60837] No WSGI daemon process called 'yourapp' has been configured: /var/www/site/wsgi.py

参考にした資料
https://teratail.com/questions/80949
http://docs.djangoproject.jp/en/latest/howto/deployment/wsgi/modwsgi.html
http://qiita.com/mtb_beta/items/f5fd4bc0341e3f8f462a

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

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

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

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

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

miyahan

2017/07/09 03:33

Internal Server Error 発生時の Apacheのエラーログ(/var/log/httpd/error_log)を張り付けてください
am120sec

2017/07/09 05:02

Apache error_log更新しました。
guest

回答2

0

Traceback (most recent call last): File "/var/www/site/hello.py", line 1, in <module> from django.http import HttpResponse ImportError: No module named django.http

というエラーメッセージの通り、そもそも hello.py のPythonスクリプトにバグがあるようです。まず単体で hello.py を動かしてもエラーが出ないところまで持って行ってください。

それが終わったら、python manage.py runserver で Django のテストサーバーを起動し正常に動作するか確認しましょう。

それらのステップを経てから Apache との連携を行いましょう。着実に進めないとどこに原因があるか分からなくなってしまいます。

投稿2017/07/09 04:58

miyahan

総合スコア3095

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

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

am120sec

2017/07/09 05:05

確認してみます。行き違いで更新してしまいましたが、記述ミスがありますので無視してください。
guest

0

自己解決

解決したので報告です。

やったこと。
OSインストールからやりなおし。
あとはこちらのサイトのとおりセットアップを進めました。
http://www.yoheim.net/blog.php?q=20170206

これでhttp://mydomain.jp/(app)からwsgiのアプリを起動することができました。
あとはこれからDjangoの設定を行います。(?_?)

結局丸々コピペで解決したのでどこが悪かったのかはいまいちピンと来ていません・・。

投稿2017/07/10 11:28

am120sec

総合スコア14

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問