django on IIS, process exited unexpectedly

℡╲_俬逩灬. 提交于 2021-02-19 04:36:12

问题


I have read every article I could find on this topic but I'm still unable to run django project on IIS. The error message is 500 Internal Server Error, c:\program files (x86)\python 3.5\python.exe - The FastCGI process exited unexpectedly.

Tracing rule for error 500 provides the following:

Error 
-FASTCGI_UNEXPECTED_EXIT 


Warning 
-SET_RESPONSE_ERROR_DESCRIPTION 


ErrorDescription
c:\program files (x86)\python 3.5\python.exe - The FastCGI process exited unexpectedly 


Warning 
-MODULE_SET_RESPONSE_ERROR_STATUS 


ModuleName
FastCgiModule 

Notification
EXECUTE_REQUEST_HANDLER 

HttpStatus
500 

HttpReason
Internal Server Error 

HttpSubStatus
0 

ErrorCode
The system cannot find the file specified.
(0x2) 

environment:

  • Windows Server 2012 R2
  • IIS 8.5 (CGI enabled)
  • wfastcgi installed and enabled (command "c:\program files (x86)\python 3.5\python.exe|c:\program files (x86)\python 3.5\lib\site-packages\wfastcgi.py" opens a python shell - is this right?)

web.config under c:\inetpub\wwwroot\testapp:

<configuration>
<system.webServer>
<handlers>
  <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\program files (x86)\python 3.5\python.exe|c:\program files (x86)\python 3.5\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
    <tracing>
        <traceFailedRequests>
            <add path="*">
                <traceAreas>
                    <add provider="ASP" verbosity="Verbose" />
                    <add provider="ISAPI Extension" verbosity="Verbose" />
                    <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket" verbosity="Verbose" />
                </traceAreas>
                <failureDefinitions statusCodes="500" />
            </add>
        </traceFailedRequests>
    </tracing>
</system.webServer>

<appSettings>
 <!-- Required settings -->
 <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
 <add key="PYTHONPATH" value="c:\inetpub\wwwroot\testapp" />

 <!-- Optional settings -->
 <add key="WSGI_LOG" value="C:\inetpub\logs\testapp.log" />
 <add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" />
 <add key="APPINSIGHTS_INSTRUMENTATIONKEY" value="__instrumentation_key__" />
 <add key="DJANGO_SETTINGS_MODULE" value="testapp.settings" />
</appSettings>
</configuration>

thanks for any help.


回答1:


I've spent lot of time to solve this problem and finally made it. I'll share some tips that I've tried.

Environment

  • Windows Server 2012 R2
  • IIS 8.5 (CGI enabled)
  • python 3.6.6
  • wfastcgi 3.0.0

1. Folder permission

Since message FASTCGI_UNEXPECTED_EXIT showed up, IIS had permission to access folders 'project folder' and 'virtualenv folder'

For those who only got 500 Error but no message, try granting folder permissions to IIS AppPool\<myapppoolname>

(Reference: https://support.pkware.com/display/SMAR/KB+-+Granting+folder+permissions+to+IIS+application+pools)

If you're placing your under default AppPool, grant access to IUSR and IIS_IUSRS.

2. Install Python Properly

Reference: https://github.com/microsoft/PTVS/issues/5450

I used to install python under user folder instead of C:\Python36. So I removed and re-installed with executable installer downloaded from https://python.org/downloads

Some configurations:

  1. Add Python to Path
  2. Install for all users
  3. Location C:\Python36

Note that I am using virtual environment. But I know many tutorials don't and they seems working fine, so feel free to use or not.




回答2:


I had the same issue, my solution was try to run your project locally,

python manage.py runserver

and see if you can run the project. In my case, my numpy was broken, so it leads to the wfastcgi exited. Maybe your wfastcgi is perfect, but some other python packages are not working



来源:https://stackoverflow.com/questions/36709620/django-on-iis-process-exited-unexpectedly

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!