我正在尝试使用MSSQL服务器将我的django应用程序发布到azure。我正在使用django azure pyodbc和pyodbc进行连接,当它在本地工作时,每当我使用mssql发布时,我都会收到一个内部服务器错误,尽管发布成功。如果我使用预先打包的sqllite3服务器发布,它就可以工作。我使用的虚拟环境包括Python 3.4、Django 1.8.4、pyodbc 3.0.10和Django pyodbc azure 1.8.3.0。我的settings.py文件如下所示。
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'db_name',
'USER': 'u_name',
'PASSWORD': 'p_word',
'HOST': 'host.database.windows.net',
'PORT': '',
}
}
我已经将webapp的传出IP地址添加到服务器,希望这是问题所在,但事实并非如此。在检查诊断日志后,我找到了比500错误更详细的解释,但我不确定我是否理解它。
ModuleName FastCgiModule
Data1 FASTCGI_RESPONSE_ERROR
读取WSGI处理程序时发生数据2错误:回溯(最近一次调用):文件“D:\home\site\wwwroot\env\lib\site packages\sql\u server\pyodbc\base.py”,作为数据库导入pyodbc中的第14行错误:DLL加载失败:%1不是有效的Win32应用程序。在处理上述异常期间,发生了另一个异常:回溯(最近一次调用):文件“D:\Python34\Scripts\wfastcgi.py”,第711行,在主环境中,handler=read\u wsgi\u handler(response.physical\u path)文件“D:\Python34\Scripts\wfastcgi.py”,第568行,在read\u wsgi\u处理程序返回环境中,获取\u wsgi\u处理程序(handler\u name)文件“D:\Python34\Scripts\wfastcgi.py”,第541行,在get\u-wsgi\u-handler=handler()文件中“\ptvs\u-virtualenv\u-proxy.py”,第120行,在get\u-venv\u-handler=get\u-wsgi\u-handler(os.getenv('wsgi-ALT\u-virtualenv\u-handler'))文件中“\ptvs\u-virtualenv\u-proxy.py”,第78行,在get\u-wsgi\u-handler=handler()文件中”D:\home\site\wwwroot\env\lib\site packages\django\core\wsgi.py”,第14行,在安装应用程序中的get\u wsgi\u application django.setup()文件“D:\home\site\wwroot\env\lib\site packages\django\uu init\uuu.py”,第18行。填充(设置.已安装的应用程序)文件“D:\home\site\wwroot\env\lib\site packages\django\apps\注册表.py”“,第108行,在import_models self.models_module=import_module(models_module_name)文件“D:\Python34\lib\importlib_init_.py”第109行,在import_module return_引导程序中的D:\home\site\wwwroot\env\lib\site packages\django\apps\config.py中,第198行文件“”,第2254行,在“gcd导入文件”中,第2237行,在“查找并加载文件”中,第2226行,在“查找并加载未锁定文件”中,第1200行,在“加载未锁定文件”中,第1129行,在“执行文件”中,第1471行,在“执行模块文件”中,第321行,在“调用”中,并删除文件“D:\home\site\wwwroot\env\lib\site packages\django\b\auth\models.py”,第41行,类内权限(models.Model):文件“D:\home\site\wwwroot\env\lib\site packages\django\db\models\base.py”,第139行,在新的类中。将类添加到类(“meta”,选项(meta,**kwargs))文件“D:\home\site\wwwroot\env\lib\site packages\django\db\models\base.py”,第324行,在添加类值中。为类(cls,名称)文件贡献“D:\home\site\wwwroot\env\lib\site packages\django\db\models\options.py”,第250行,在贡献\u到\u类self.db\u表=截断\u名称(self.db\u表,connection.ops.max\u name\u length())文件“D:\home\site\wwwroot\env\lib\site packages\django\db\u init\uuu\uu.py”,第36行,在getattr return getattr(connections[DEFAULT\db\u\u]别名)文件中”D:\home\site\wwwroot\env\lib\site packages\django\db\utils.py”,第240行,在getitem backend=load\u backend(db['ENGINE'])文件“D:\home\site\wwwroot\env\lib\site packages\django\db\utils.py”,第111行,在load\u后端返回导入模块('%s.base'%backend\u name)文件“D:\Python34\lib\importlib\uu init.py”中,第109行,在导入模块返回引导中。第2254行,在导入文件中,第2237行,在查找和加载文件中,第2226行,在查找和加载解锁文件中,第1200行,在加载解锁文件中,第1129行,在执行文件中,第1471行,在执行模块文件中,第321行,在raise INPROPERLYCONFIGURED(“加载pyodbc模块时出错:%s”%e)django.core.exceptions。配置错误:加载pyodbc模块时出错:DLL加载失败:%1不是有效的Win32应用程序。标准输出:标准输出:
我无法重现您的问题,但我对您的软件包和版本进行了测试。我使用VisualStudio将Django应用程序发布到Azure Web应用程序,效果很好。以下是我的步骤供您参考:1、创建一个空的Web应用程序并从本地Git repo设置部署
2、在Visual Studio中创建Django应用程序,使用python 3.4添加虚拟环境,然后安装python软件包,下面是requirements.txt
中的内容:Django==1.8.4 pyodbc==3.0.10 Django pyodbc azure==1.8.3.0
3、将数据库设置修改为Azure上的MSSQL,按F5在本地进行测试
4、右键单击Django应用程序项目名称,单击发布部署
完成部署后,它会自动在默认浏览器中浏览您的应用程序。
问题是我的同事在他的环境中使用了64位版本的python。很简单,但我感谢你的帮助。
我真的不知道Azure是如何工作的,但是我在混合32和64位驱动程序/Python组合时遇到了这个错误。尝试使用x64位版本的python和驱动程序。
上传的Java方法 C#WCF接口 C#WCF服务 Eclipse LogCat 10-15 14:24:45.138:D/UploadPhotos(14370):Eviando arquivo通过http 10-15 14:24:45.198:W/System。err(14370):android。操作系统。NetworkOnMainThreadException 10-15 14:24:45.
我正在尝试使用Azure DevOps发布管道将java应用程序部署到tomcat服务器。我在tomcat服务器选项卡中填写了war文件路径、服务器URL信息、用户名和密码,如下所示: 但部署失败,我得到以下错误: 我使用的路径或任何其他信息是否错误?谁能帮我一下吗,谢谢。
我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?
我们使用最新的Tomcat(8.5)将java Web应用程序(WAR文件)部署到Azure应用服务上。Azure检测到WAR文件,但在启动时,我们会在catalina.date.log中看到以下内容 2018年2月6日07:57:24.494信息[主要]组织。阿帕奇。卡塔琳娜。果心标准服务。startInternal启动服务[Catalina] 2018年2月6日07:57:24.512信息[m
我有一个文件,我需要部署到现有的应用服务(已经包含一个应用程序,以前通过另一个管道部署)。 我想避免使用FTP任务。 有没有办法通过DevOps管道将单个文件部署到应用程序服务中的特定文件夹?