1

CentOS7で毎日djangoプログラムをすでに実行しています。
centos7をcentos8に移動したいです。

CentOS8を試しています。これはwsgiの設定です。

# dnf -y install python3-mod_wsgi
# vi /etc/httpd/conf.d/python3_wsgi.conf

これは新しいファイルです。新しいファイルに書き込みます。

WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py
def application(environ, start_response):
    status = '200 OK'
    html = '<html>\n' \
           '<body>\n' \
           '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \
           'WSGI TEST PAGE\n' \
           '</div>\n' \
           '</body>\n' \
           '</html>\n'.encode("utf-8")
    response_header = [('Content-type','text/html')]
    start_response(status,response_header)
    return [html]
# systemctl restart httpd

chrome http://153.127.13.226/test_wsgiへの url 入力。
わかった!できます!wsgiで!

しかし、venvでdjangoプロジェクトを作成すると、機能しません。 chrome http://153.127.13.226/test_wsgi

への url 入力。 クロムは...いや!503!

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

venv ディレクトリは...

# python -c 'import sys; print(sys.prefix)'
  /home/op/venv

ジャンゴプロジェクトは...

# tree /var/www/html
/var/www/html
├ index.html
├ test_wsgi.py
└  testproject
    ├ manage.py
    └  testproject
        ├ __init__.py
        ├ asgi.py
        ├ settings.py
        ├ urls.py
        └  wsgi.py
WSGIDaemonProcess test_app python-path=/var/www/html/testproject python-home=/home/op/venv
WSGIProcessGroup test_app
WSGIScriptAlias /test_wsgi /var/www/html/testproject/testproject/wsgi.py
<Directory /var/www/html/testproject>
    Require all granted
</Directory>



エラーログは・・・終わりそうにありません。

# tail -f /var/log/httpd/error_log
Current thread 0x00007f65e9c55900 (most recent call first):
[Mon Mar 23 21:13:57.702501 2020] [core:notice] [pid 26583:tid 140075690449152] AH00052: child pid 7780 exit signal Aborted (6)
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

私はすでにスタックオーバーフローを検索していますが、まだ解決していません。
もう少しだと思いますが、スタックオーバーフローになりました。

4

1 に答える 1