我已阅读了有关此主题的所有文章,但我仍然无法在IIS上运行django项目。错误消息是500内部服务器错误,c:\ program files(x86)\ python 3.5 \ python.exe - FastCGI进程意外退出。
错误500的跟踪规则提供以下内容:
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)
环境:
web.config
<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>
感谢您的帮助。
答案 0 :(得分:0)
我花了很多时间来解决这个问题,终于做到了。我将分享一些我尝试过的技巧。
环境
自显示消息FASTCGI_UNEXPECTED_EXIT
以来,IIS有权访问文件夹“项目文件夹”和“ virtualenv文件夹”
对于仅收到500错误但没有消息的用户,请尝试将文件夹权限授予IIS AppPool\<myapppoolname>
(参考:https://support.pkware.com/display/SMAR/KB+-+Granting+folder+permissions+to+IIS+application+pools)
如果要将您置于默认的AppPool下,请授予对IUSR
和IIS_IUSRS
的访问权限。
参考:https://github.com/microsoft/PTVS/issues/5450
我曾经将python安装在用户文件夹下,而不是C:\Python36
下。因此,我删除并重新安装了从https://python.org/downloads
一些配置:
C:\Python36
请注意,我正在使用虚拟环境。但是我知道很多教程都做不到,而且看来效果很好,所以请随时使用。
答案 1 :(得分:-1)
我遇到了同样的问题,我的解决方案是尝试在本地运行您的项目,
python manage.py runserver
,然后查看是否可以运行该项目。 就我而言,我的numpy坏了,因此导致wfastcgi退出了。也许您的wfastcgi很完美,但其他一些python包却无法正常工作