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

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

ただいまの
回答率

90.50%

  • Python

    11717questions

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

  • CentOS

    3138questions

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

  • Apache

    2099questions

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

  • Django

    1609questions

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

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,306

am120sec

score 6

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • miyahan

    2017/07/09 12:33

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

    キャンセル

  • am120sec

    2017/07/09 14:02

    Apache error_log更新しました。

    キャンセル

回答 2

+1

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 14:05

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

    キャンセル

check解決した方法

0

解決したので報告です。

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Python

    11717questions

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

  • CentOS

    3138questions

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

  • Apache

    2099questions

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

  • Django

    1609questions

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