プロジェクト環境:
centos7、
apache2、
django2.0
python3.7
もともとapacheを使ってプロジェクトの展開をテストしたかったのですが、インターネットで良いチュートリアルを読んだ後、自信を持って始めましたが、本当に痛いです。展開が完了した後、不足しているパッケージがあり、エラーの説明は次のとおりです。siteという名前のモジュールがありません。一般的に言って、このタイプのエラーが表示されるのは、インストールされているmod_wsgiのバージョンが間違っていることです。
**解決
python2.7が自動的にインストールされて選択されるため、yuminstallmod_wsgiを使用してインストールしないでください。公式ドキュメントには仮想環境のインストールに関する注意事項が記載されていますhttps://modwsgi.readthedocs.io/en/develop/user-guides/virtual -environments.html。ここでは、iusソースインストールを使用します。
最初にiusソースをインストールします。
$ curl https://setup.ius.io/ | bash
mod_wsgiのさまざまなPythonバージョンがiusソースに含まれています。
$ yum search mod_wsgi
python35u-mod_wsgi-debuginfo.x86_64 : Debug information for package python35u-mod_wsgi
python36u-mod_wsgi-debuginfo.x86_64 : Debug information for package python36u-mod_wsgi
koschei-frontend.noarch : Web frontend for koschei using mod_wsgi
mod_wsgi.x86_64 : A WSGI interface for Python web applications in Apache
python35u-mod_wsgi.x86_64 : A WSGI interface for Python web applications in Apache
python36u-mod_wsgi.x86_64 : A WSGI interface for Python web applications in Apache
viewvc-httpd-wsgi.noarch : ViewVC configuration for Apache/mod_wsgi
私はpython3.6を使用しており、python36u-mod_wsgiを直接インストールしています。使用しているバージョンがiusで利用できない場合は、mod_wsgiを自分でコンパイルしてインストールすることを検討してください。
yum erase mod_wsgi # 卸载之前安装的mod_wsgi
yum install -y python36u-mod_wsgi
インストールが完了すると、ファイル/etc/httpd/conf.modules.d/10-wsgi-python3.6.confが生成されます。これは、新しくインストールされたapacheモジュールの構成ファイルです。
他の構成をオンラインで非常にうまく書いた偉大な神々がたくさんいるので、これ以上追加しません。
参照ブログ:
https://www.lijiaocn.com/prog/django/deploy_apache.html
https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
https://zhuanlan.zhihu.com/p/35080834
http://www.showerlee.com/archives/2511