Python初学者です。
独学でPython及びDjangoを学習し、ローカル環境で動作するWEBシステムを
構築できたのですが、本番環境として社内公開する方法で四苦八苦しており、
解決策がわからず投稿させて頂きました。
現在WindowsServer2019で Django ⇔ uWSGI ⇔ Nginx ⇔ クライアント というイメージの構成で
社内向けにWebシステムを公開しようとしています。
【環境】
・WindowsServer2019
・Python3
・Django
・Nginx(webサーバ)
・uWSGI(web→python実行アプリ)
・Cygwin(uwsgiのインストール環境+実行環境)
※uWSGIに関してはWindowsが非対応のようだったのでCygwinを使用しています。
Cygwinにて下記コマンドにてテストプログラム hello.py が表示される事までは
確認できました。
[Cygwin]
uwsgi --master --https 127.0.0.1:9090,/etc/pki/Server/server.crt,/etc/pki/Server/server.key --wsgi-file uwsgi/hello.py
[hello.py]
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
[Nginx.conf]
server { listen 443 ssl http2; server_name localhost; ssl_protocols TLSv1.2; ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA; ssl_ecdh_curve prime256v1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_certificate C:\cygwin64\etc\pki\Server\server.crt; ssl_certificate_key C:\cygwin64\etc\pki\Server\server.key; keepalive_timeout 70; sendfile on; client_max_body_size 0; root G:\Mysite\Mysite\templates\blog; server_tokens off; charset utf-8; gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; add_header Strict-Transport-Security "max-age=31536000"; location /uwsgi { include G:\Mysite\Mysite\uwsgi_params; proxy_pass https://127.0.0.1:9090; } }
[クライアント]
https://[サーバのIP]/uwsgi
Hello World
この状態からDjangoのwsgi.pyを呼び出せばいけるのかと考えたのですが
Cygwinで下記コマンドを実行したところ下記の状態でDjangoが見つけられずに
エラーが出てしまいます。
[Cygwin]
uwsgi --ini uwsgi.ini
~~~~省略~~~~
*** Operational MODE: single process ***
Traceback (most recent call last):
File "wsgi.py", line 16, in <module>
from django.core.wsgi import get_wsgi_application
ModuleNotFoundError: No module named 'django'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
~~~~省略~~~~
[uwsgi.ini]
[uwsgi]
master = true
wsgi-file = wsgi.py
home = G:\mysite\venv
chdir = G:\mysite\mysite\mysite
https = 127.0.0.1:9090,/etc/pki/Server/server.crt,/etc/pki/Server/server.key
[wsgi.py]
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MachineStatusManagementSystem.settings')
application = get_wsgi_application()
from django.core.wsgi import get_wsgi_applicationで
djangoが見つけられないようなのですが、何がダメなのか
検討がつかない状態です。
ご存じの方、ご教示頂ければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/02 02:25