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

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

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

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

Apache

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

Python

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

Q&A

解決済

1回答

4416閲覧

python仮想環境上のdjango+apache2でwsgiの設定方法についてお聞きしたいです。

kosei_iino

総合スコア4

Django

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

Apache

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

Python

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

0グッド

0クリップ

投稿2020/08/08 10:07

編集2020/08/08 10:09

環境

本体:rasberry pi4
OS :Ubuntu Server 20.04
python 3.7.5
django 3.0.8

前提・実現したいこと

apache2と仮想環境内のpythonにあるdjangoをつなげてhttps通信をできるようにしたいです。

発生している問題・エラーメッセージ

概要は下に記載しますが、少し長くなるので、簡潔にまとめると、
pip install mod-wsgiを利用したdjangoとの連携を行いたいです。

[エラー内容(apache2起動時の「journalctl -xe」の結果)]
pam_unix(polkit-1:auth): authentication failure; logname= uid=1001 euid=0 tty= ruser=kosei_iino rhost= user=kosei_iino

下記でもお話していますが、「Sudo apt-get install libapache2-mod-wsgi-py3」を利用した、構築はできているので、そのパスなどをそのままpip上にあるmod-wsgiの書き方に変更しただけですが、エラーが起こってしまいます。

何が原因なのかまた、修正方法をご存じでしたらご教授いただけないでしょうか
よろしくお願いします。

該当のソースコード

下記は、httpsの通信を行うためにapache2でデフォルトで入っている「default-ssl.conf」を直接変更したものです。
これを実行することで上記で載せたエラーがapache2の起動時に出てきてしまいます。

ちなみに「WSGIPythonHome」と「WSGIPythonPath」をコメント化して、
「WSGIDaemonProcess www python-home=/home/kosei_iino/www/env python-path=/home/kosei_iino/www:/home/kosei_iino/www/env/lib/python3.7/site-packages」と入れることで、
「libapache2-mod-wsgi-py3」上ではうまく動作します。
その場合、読み込まれているwsgiのモジュールは「/etc/apache2/mods-enabled/wsgi.load」に書いているモジュールです。

[/etc/apache2/sites-available/default-ssl.conf]
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog /home/kosei_iino/www/logs/error.log
CustomLog /home/kosei_iino/www/logs/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

LoadModule wsgi_module /home/kosei_iino/www/env/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-aarch64-linux-gnu.so WSGIPythonHome /home/kosei_iino/www/env WSGIPythonPath /home/kosei_iino/www:/home/kosei_iino/www/env/lib/python3.7/site-packages WSGIProcessGroup www WSGIScriptAlias / /home/kosei_iino/www/ai_project/ai_project/wsgi.py <Directory /home/kosei_iino/www/ai_project/ai_project> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static /home/kosei_iino/www/ai_project/static/ <Directory /home/kosei_iino/www/ai_project/static> Require all granted </Directory> </VirtualHost>
</IfModule>

概要

沢山のサイトからpipにより、mod-wsgiを導入するべきだという記事をよく見かけていましたが、1週間ほど設定などを組み替えてみても全くうまくいかず、apache2の再起動の時点で落ちてしまっていたので、今まで以下のコマンドでapt-get内にあるwsgiを利用して、通信をしていました。

Sudo apt-get install libapache2-mod-wsgi-py3

多分ですが、これによる問題で、pip install したパッケージが通常のコマンドライン実行ではimport可能なのですが、djangoで構築したものを起動しようとするとdjangoのエラー画面で「ModuleNotFoundError: No module named 'numpy.random.mtrand'」などと出るようになりました。

下記のコマンドライン上の実行ではうまくいく
python3

import numpy

このエラーは各パッケージの__init__.py上で起こっており、.soファイルの読み込みエラーであることがわかりました。
そのため、試行錯誤した結果、パッケージのインストールしたデフォルトの状態「mtrand.cpython-37m-aarch64-linux-gnu.so」というパッケージ内に入っているファイルとを「mtrand.so」とリネームすることでうまく読み込めるようになることが分かりました。

推測ではありますが、上で記載したapt-getのパッケージを利用すると、もともとOSに入っているpython(3.8.2)を使ってしまい、仮想環境でダウングレードしたpythonを利用するためにpyenvで入れたpython3.7.5の固有のパッケージ名(cpython-37mなど)に対応できていないものだと思っています。

その為、「libapache2-mod-wsgi-py3」ではなく、仮想環境内でpip install mod-wsgiを使ってapache2と連携できるようにしたいのです。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/08/08 20:50

まずは何が出来て何が出来てないのかよく分からないので、質問させてください。 PCでhttpでapache2で20.04でpyenvの3.7.5環境で、pipで入れたmod_wsgiを使ってdjangoのサイト構築直後の画面を動かせるのでしょうか?
kosei_iino

2020/08/09 09:38

確認ありがとうございます。 pipで入れたmod_wsgiはパスを通すための、「WSGIPythonHome」と「WSGIPythonPath」を入れるだけでapacheの起動時にエラーが起こってしまいますので、httpでも同様に動きません。 現状の運用方法は、記載した通りapy-getでインストールできる「libapache2-mod-wsgi-py3」で「WSGIDaemonProcess」の中にpythonpathとpythonhomeを記載する方法だけです。
kosei_iino

2020/08/09 11:06

失礼しました。 httpに設定するときのエラーが「既に利用しています」だったので、httpsに割り当てている設定をすべてコメントアウトしてから apache2を再起動ではなく、stop,startで行ったらpip?(「WSGIPythonHome」と「WSGIPythonPath」の方)で設定ができました。 その後httpsの方にも同じ条件でapache2をstop,startさせたら最初に提示したエラーとは違うエラーが出ました。 パスワードの認証らしきもので失敗しているようですが、apache内のエラーとして検索してもあまり記事が出てこないようです。。。 Aug 09 19:56:31 ubuntu polkit-agent-helper-1[30883]: pam_unix(polkit-1:auth): conversation failed Aug 09 19:56:31 ubuntu polkit-agent-helper-1[30883]: pam_unix(polkit-1:auth): auth could not identify password for [kosei_iino]
退会済みユーザー

退会済みユーザー

2020/08/09 11:12

まあよく分かりませんが、WSGIPythonPathの設定は現状のままでも動作に支障がないということですね。httpsはwsgiなしの素のapache単体で動作するのでしょうか?
kosei_iino

2020/08/09 11:17 編集

アクセスは問題なく出来ています。 ただいま、WSGIのセット意をすべて取り除いてアクセスしましたが、 「Apache2 Ubuntu Default Page」が表示されました。
退会済みユーザー

退会済みユーザー

2020/08/09 11:25 編集

ではWSGIありのときだけPAMで認証する機能が入るってことですね。。。 何か余計なapacheモジュールが動いてるとか…でもSSL/TLSのときだけってのも微妙な感じですね。。。 すみませんが、ちょっとよく分かりません。
kosei_iino

2020/08/09 12:22

当たり前のことだと思っていたので、suでrootユーザーにならずに通常のユーザーで毎回サービスを立ち上げていましたが、rootユーザーでサービスを起動したらまたエラーの内容が変わりました。 ただ、python-pathが間違っているとしか言われないので、やはりわかりませんね。。 ありがとうございます Aug 09 21:16:03 ubuntu apachectl[31739]: [Sun Aug 09 21:16:03.513707 2020] [so:warn] [pid 31739:tid 281472940019728]> Aug 09 21:16:03 ubuntu apachectl[31739]: AH00526: Syntax error on line 138 of /etc/apache2/sites-enabled/default-ssl> Aug 09 21:16:03 ubuntu apachectl[31739]: WSGIPythonHome cannot occur within <VirtualHost> section Aug 09 21:16:03 ubuntu apachectl[31736]: Action 'start' failed. Aug 09 21:16:03 ubuntu apachectl[31736]: The Apache error log may have more information.
退会済みユーザー

退会済みユーザー

2020/08/09 12:37

なるほど、一般ユーザでapache2を直接起動しようと思ったことがなかったです。 権限不足で昇格しようとしてPAMを使った?にしてはhttpで何も出ないのは不思議です。 まずはエラーを一つずつ片付けないとですね。 pythonpathではなくWSGIPythonHomeがVirtualHost要素に入ってることが問題のようですよ。
kosei_iino

2020/08/09 13:30

通常はHomeとPathは分けて配置するということなんでしょうか? 記事を探していたら、activate_this.pyというのを設定することでpyenvで入れたpythonをメインのpythonバージョンとして扱えるようになるとかありましたので、下記のコードでそれを実現しようとしました。 activate_this = "/home/kosei_iino/www/env/bin/activate_this.py" execfile(activate_this, dict(__file__=activate_this)) ただこの書き方はpython2の書き方みたいなので、下記のように直して、実行してみましたが、何も変化がないようです。 activate_this = "/home/kosei_iino/www/env/bin/activate_this.py" exec(open(activate_this).read(), {'__file__': activate_this })
退会済みユーザー

退会済みユーザー

2020/08/09 15:38 編集

いえ、<VirtualHost>~</VirtualHost>の間ではないところに<WSGIPythonHome>を書くのが正しいのかと思います。 環境1個だけのモードでは <WSGIPythonHome/>で例えばvenvなど仮想環境のフォルダ <WSGIPythonPath/>でサイト(プロジェクト)のルートフォルダ を指定するようです。 複数ある場合は、別の要素でデーモンモードを指定してグルーピングしつつ使用するようですね。 mod_wsgiのドキュメントを読む限りですと…
kosei_iino

2020/08/09 15:31

ありがとうございます。 配置位置を変更した結果、apacheの起動時点ではエラーが出力されなくなりました。 ちなみにこの構成に変えても、最初同様「WSGIDaemonProcess」の記載でしかアクセスできず、「WSGIPythonHome」などを割り当てる方法では、「WSGIDaemonProcess」をpipのmod-wsgiで設定している人が探してもいないにも関わらず、「WSGIDaemonProcess」をコメント化してしまうと「No WSGI daemon process called 'www' has been configured: /home/kosei_iino/www/ai_project/ai_project/wsgi.py」というエラーが出てしまうことです。 LoadModule wsgi_module /home/kosei_iino/www/env/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-aarch64-linux-gnu.so #WSGIDaemonProcess www python-home=/home/kosei_iino/www/env python-path=/home/kosei_iino/www:/home/kosei_iino/www/env/lib/python3.7/site-packages WSGIPythonHome /home/kosei_iino/www/env WSGIPythonPath /home/kosei_iino/www:/home/kosei_iino/www/env/lib/python3.7/site-packages WSGIProcessGroup www WSGIScriptAlias / /home/kosei_iino/www/ai_project/ai_project/wsgi.py <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost SSLEngine on ErrorLog /home/kosei_iino/www/logs/error.log CustomLog /home/kosei_iino/www/logs/access.log combined SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> DocumentRoot /home/kosei_iino/www <Directory /home/kosei_iino/www/ai_project/ai_project> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost> </IfModule> Alias /static /home/kosei_iino/www/ai_project/static/ <Directory /home/kosei_iino/www/ai_project/static> Require all granted </Directory>
退会済みユーザー

退会済みユーザー

2020/08/09 15:50

ようはデーモンモードでhttpsで3.7.5で動いたということですよね? もう問題はないのでは?
kosei_iino

2020/08/09 16:17

アクセス自体はもともとできていたので、現状は書き方の配置が変わっただけで解決はしていません。 ロードしているモジュールもいまだに「apt-get install libapache2-mod-wsgi-py3」で取得された「vi /etc/apache2/mods-available/wsgi.load」にあるものを使わないとアクセスできていないので、おそらくpipのwsgiも使えていないと思います 多分ですが、この問題のゴールはpipのwsgiで作った「/home/kosei_iino/www/env/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-aarch64-linux-gnu.so」が使えるようになることだと思っています。 ちなみに使いたいモジュールのみにした場合「Unable to connect to WSGI daemon process 'www' on '/etc/apache2/logs/wsgi.37017.0.1.sock' as user with uid=33.」と出ている状態です。
退会済みユーザー

退会済みユーザー

2020/08/09 16:25 編集

上の設定では LoadModule wsgi_module /home/kosei_iino/www/env/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-aarch64-linux-gnu.so となっていたので、てっきりpipで取ってきたやつで問題ないのかと思ってたというか、最初からそれをやるつもりだったのでは? ハッキリちゃんと書いておくと、PC+Ubuntu20.04+pyenvのpython3.7.5+pipのmod_wsgi+httpsで管理画面(/admin)が開けてますよ。 dockerだしイメージまで作ってないし、-rm付きなのでシェルを落としたら消えてしまうんですが。。。
kosei_iino

2020/08/09 16:28 編集

言葉足らずで申し訳ありません。 そこにあるLoadModule自体は構文エラーなどはおこっていないのですが、 「vi /etc/apache2/mods-available/wsgi.load」にあるLoadModuleをコメントアウトしてしまうと使えなくなってしまうので、使えていないということだと思いました。 ちなみにdameoさんの環境ではapache2のwsgiの設定で「WSGIDaemonProcess」の設定や「WSGISocketPrefix」の設定など行っているのでしょうか? よろしくお願いします
kosei_iino

2020/08/09 16:34

dameoさん、今までありがとうございます!! 偶々見つけた記事で以下の内容を書き込むように書かれていたので、追加してみたら動きました! WSGISocketPrefix /var/run/wsgi 実は少し前に見つけてはいたのですが、「/var/run/wsgi」という所にデータがなかったために入れるのを躊躇しておりましたが、試しに入れてみたら使いたいsoファイルだけで動くようになりました! 感謝します!
退会済みユーザー

退会済みユーザー

2020/08/09 16:35

難しいことはしてません。単一環境なので。 ■/etc/apache2/mods-enabled/wsgi.conf <IfModule mod_wsgi.c> WSGIScriptAlias /myapp /home/mysite/mysite/wsgi.py <Directory /home/mysite/mysite> <Files wsgi.py> Require all granted </Files> </Directory> WSGIPythonHome /home/.anyenv/envs/pyenv/versions/3.7.5 WSGIPythonPath /home/mysite </IfModule> ■/etc/apache2/mods-enabled/wsgi.load LoadModule wsgi_module /home/.anyenv/envs/pyenv/versions/3.7.5/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
kosei_iino

2020/08/09 16:35

これで最終目的であるpip install したパッケージでNot Moduleにならなければ解決します
kosei_iino

2020/08/09 16:37

わざわざお見せいただいてありがとうございます。 一応teratailのためにこちらの環境も書いておきます LoadModule wsgi_module /home/kosei_iino/www/env/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-aarch64-linux-gnu.so WSGIDaemonProcess www WSGIProcessGroup www WSGISocketPrefix /var/run/wsgi WSGIPythonHome /home/kosei_iino/www/env WSGIPythonPath /home/kosei_iino/www:/home/kosei_iino/www/env/lib/python3.7/site-packages WSGIScriptAlias / /home/kosei_iino/www/ai_project/ai_project/wsgi.py <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost SSLEngine on ErrorLog /home/kosei_iino/www/logs/error.log CustomLog /home/kosei_iino/www/logs/access.log combined SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> DocumentRoot /home/kosei_iino/www <Directory /home/kosei_iino/www/ai_project/ai_project> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost> </IfModule> Alias /static /home/kosei_iino/www/ai_project/static/ <Directory /home/kosei_iino/www/ai_project/static> Require all granted </Directory>
退会済みユーザー

退会済みユーザー

2020/08/09 16:45

とりあえず言っておくと、最初に書いたとおり、「PCでhttpでapache2で20.04でpyenvの3.7.5環境で、pipで入れたmod_wsgiを使ってdjangoのサイト構築直後の画面を動かせる」ことが出来ていないなら、他のことはやめましょう。
kosei_iino

2020/08/09 16:49 編集

そうですね。。 前にあきらめて「apt-get install libapache2-mod-wsgi-py3」を使ってしまったのが間違いでした。 身に沁みました
退会済みユーザー

退会済みユーザー

2020/08/09 16:55

そちらを使いたいのであればubuntuで配布されているバージョンのpythonを入れて、venvなどで構築すべきです。 一応SSLの設定も貼っておきます。 ■/etc/apache2/sites-enabled/172.17.0.2.conf <VirtualHost *:443> ServerName 172.17.0.2 DocumentRoot /var/www/172.17.0.2 SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key </VirtualHost> IP指定なのはDockerで面倒臭かったからなので真似しないでくださいね。
kosei_iino

2020/08/09 16:56 編集

無事にsoファイルをリネームなどせずにnumpyをimportできるようになりました! ありがとうございました!
kosei_iino

2020/08/09 17:02

teratailは質問と回答の枠が違うのでしょうか? 解凍の方に書いていたでければ、ベストアンサーに選ばせていただきます
退会済みユーザー

退会済みユーザー

2020/08/09 17:06

それは面倒なので後で読む人が分かりやすいようにご自分でまとめてください
kosei_iino

2020/08/09 17:21

そうですね。わかりました ありがとうございました
guest

回答1

0

自己解決

「vi /etc/apache2/sites-available/default-ssl.conf」
を下記のように上書きしました。(新しく作ってもいいですが、443のものが二つあると動かなかったので、その場合は「default-ssl.conf」の中身をコメントアウトするとかがいいかもしれません。)

[ポイント]
「/var/run/wsgi」というフォルダがなくても、記事を信じて
WSGISocketPrefix /var/run/wsgi
を書く

[/etc/apache2/sites-available/default-ssl.conf]の中身
LoadModule wsgi_module /home/kosei_iino/www/env/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-aarch64-linux-gnu.so

WSGIDaemonProcess www

WSGIProcessGroup www

WSGISocketPrefix /var/run/wsgi

WSGIPythonHome /home/kosei_iino/www/env

WSGIPythonPath /home/kosei_iino/www:/home/kosei_iino/www/env/lib/python3.7/site-packages

WSGIScriptAlias / /home/kosei_iino/www/ai_project/ai_project/wsgi.py

<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost SSLEngine on ErrorLog /home/kosei_iino/www/logs/error.log CustomLog /home/kosei_iino/www/logs/access.log combined SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch ".(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory>

DocumentRoot /home/kosei_iino/www
<Directory /home/kosei_iino/www/ai_project/ai_project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
</IfModule>

Alias /static /home/kosei_iino/www/ai_project/static/
<Directory /home/kosei_iino/www/ai_project/static>
Require all granted
</Directory>

投稿2020/08/09 17:25

kosei_iino

総合スコア4

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

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

退会済みユーザー

退会済みユーザー

2020/08/09 19:07

補足しておきます。 /etc/apache2/sites-available/default-ssl.conf は /etc/apache2/sites-enabled/default-ssl.conf からシンボリックリンクを貼らないと有効にならないので、443で重複したりしません。 またWSGISocketPrefixはApacheプロセスとデーモンプロセスを行うためのUnixドメインソケット(Windowsでいうローカルな名前付きパイプみたいなもの)のディレクトリ指定で、主にセキュリティ考慮のあるディストリビューションで通信が行えなくなる問題を回避するためのものです。Pythonのモジュールが見つからないエラーがこれで直ることはありません。 ポイントは特になくて、試せばできていたのだと思います。環境が一つしかない場合、 WSGIDaemonProcessのpython-homeやpython-pathを指定することと WSGIDaemonProcessにpython-homeやpython-pathを指定せずに WSGIPythonHomeやWSGIPythonPathで設定することは同じことです。 WSGIDaemonProcessを使わないでWSGIPythonHomeやWSGIPythonPathだけ使った場合は、デーモンモードではなく、デフォルトの組み込みモードになります。組み込みモードではデーモンプロセスが作成されない点が違います。組み込みモードがマルチプロセスでデーモンモードは違うみたいな記事もありますが、どちらもマルチプロセスかもと思います。従ってそれも単一環境では大した違いにはならないような気もします。上の設定ではデーモンプロセスを採用していますが、WSGIScriptAliasにはプロセスグループの名前を設定できるので、それだけしておいたほうがいいかもです。 以上から、そもそもHTTPSなどを入れたときに管理者権限でapacheを動かしてなかったためにエラーで落ちてたらしいので、単に試してなかったか、そのときは別の問題があったのではないか?と思います。 いずれにしても行き当たりばったりであっちこっちいじってたのが問題だったのだろうと思います。 最後に、pythonもdjangoもwsgiも難しくはありません。pythonは動作の遅い言語であり、サーバーともなると細かく調整するパラメータがありますが、我々が個人で普通に使う分には基本的なパラメータだけ設定できれば十分だと思います。(デバッグ版のまま公開したりしないとかセキュリティだけ意識してればいいと思う)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問