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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Django

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

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

Python

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

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

1回答

7063閲覧

Django+IISで500エラー「FastCGIプロセスが予期せずに終了しました」

kana_nu00

総合スコア0

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Django

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

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

Python

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

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2020/07/14 03:10

編集2020/07/14 07:50

前提・実現したいこと

Python3.6+Django3.0にてWebアプリケーションを作成しています。
Windows Server 2012RC上にIISを立て、そこにアプリを載せる予定になっています。

まずは開発環境の整備として、Windows10端末にIISとwfastcgiの設定をし、
起動などができるか確認をしています。
Django内部サーバーを使用すれば問題なく動作するのですが、
IIS経由のアクセスを試したところ、エラーとなってしまいます。

サーバー側はあまり知識がなく、原因の調査方法もよくわかっていません。
調査方法だけでもご存知でしたら教えてください。

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

HTTPエラー500.0 - Internal Server Error c:\inetpub\venv\scripts\python.exe - FastCGIプロセスが予期せずに終了しました モジュール: FastCgiModule 通知: ExecuteRequestHandler ハンドラー: Python FastCGI エラーコード: 0xc0000409

設定

プロジェクト名 = プロジェクト名
venv環境パス = venvによって仮想環境を立てたパス
アプリケーションパス = Default Web Siteのパス = manage.pyの格納されたディレクトリへのパス
(C:\inetpub\wwwroot[プロジェクト名])

【FastCGIの設定】

完全なパス引数最大インスタンス数インスタンスの最大要求数
c:[venv環境パス]\scripts\python.exeC:[venv環境パス]\lib\site-packages\wfastcgi.py0200

【ハンドラーマッピング】
|名前|パス|状況|パスの種類|ハンドラー|実行可能ファイル|
|:--|:--|:--|:--|:--|
|Python FastCGI|*|有効|指定なし|FastCgiModule|C:[venv環境パス]\scripts\python.exe|C:[venv環境パス]\lib\site-packages\wfastcgi.py|

【web.config】

<configuration> <appSettings> <!-- Required settings --> <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" /> <add key="PYTHONPATH" value="C:[アプリケーションパス]" /> <!-- Optional settings --> <add key="DJANGO_SETTINGS_MODULE" value="[プロジェクト名].settings" /> <add key="WSGI_LOG" value="C:\logs\log.log" /> </appSettings> <system.webServer> <handlers> <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:[venv環境パス]\scripts\python.exe|C:[venv環境パス]\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> </handlers> </system.webServer> </configuration>

試したこと

ネット上の情報を調べ、こちらの手順通りの設定を行いました。
https://qiita.com/okoppe8/items/905d2c22e750261c62f0
https://thinkami.hatenablog.com/entry/2015/10/26/070118

これらの他に、VC++の再頒布可能プログラムをインストールすることで改善するという情報がありましたので、
Python3.6に対応する14.x(VC++2015-2019)のインストールを試しましたが、こちらでも改善しませんでした。

「失敗した要求トレースの規則」に500エラーを追加しましたが、ログが吐かれません。

【追記:2020/7/14 15:38】

Python3.8を使用するとエラーコードが0x00000067に変化しました。
Django側のダウングレード(2.2)を試してみましたが、こちらは変化がありません。

イベントビューアーのエラーログにて次の情報がありました。

障害が発生しているアプリケーション名:python.exe 障害が発生しているモジュール名:ucrtbase.dll 例外コード:0xc0000409 障害オフセット:0x000a522a

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

Python 3.6.8
(Pythonのバージョンはstableではなく、wfastcgiサポート範囲のPython3.6を使用しています。)
Django 3.0.2
wfastcgi 3.0.0

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

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

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

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

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

over

2020/07/14 04:26

ご質問文からは読み取れなかったので確認です。 ハンドラーマッピングの設定はしていますか? IISの設定がご質問文のみの設定ですと不足と感じています。
kana_nu00

2020/07/14 04:44

ありがとうございます。実施したハンドラーマッピングの設定について追記しました。
guest

回答1

0

IIS向けの設定不足でした。Pythonの実行ファイル格納フォルダ(ハンドラーの設定を行ったフォルダ)に対し、IISのユーザーの実行権限が付与されていなかったことが原因のようです。
IUSRの実行権限を付与したところ起動しました。

投稿2020/07/15 03:31

kana_nu00

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問