Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在windows上具有指定端口的Heroku上部署的Django应用程序上运行waitress_Django_Python 3.x_Heroku_Server_Waitress - Fatal编程技术网

如何在windows上具有指定端口的Heroku上部署的Django应用程序上运行waitress

如何在windows上具有指定端口的Heroku上部署的Django应用程序上运行waitress,django,python-3.x,heroku,server,waitress,Django,Python 3.x,Heroku,Server,Waitress,我正在尝试在windows环境下使用heroku和waitress包托管我的django应用程序。我已经定义了运行wsgi应用程序的配置文件。我需要在哪里定义正确的端口并运行heroku应用程序 这适用于运行django应用程序和heroku的新windows服务器。在过去,我曾尝试在procfile上定义各种端口号来运行应用程序,但它不起作用,并且在权限上显示错误 程序文件: web: waitress-serve --port=80 ACE:wsgi.application 我希望dja

我正在尝试在windows环境下使用heroku和waitress包托管我的django应用程序。我已经定义了运行wsgi应用程序的配置文件。我需要在哪里定义正确的端口并运行heroku应用程序

这适用于运行django应用程序和heroku的新windows服务器。在过去,我曾尝试在procfile上定义各种端口号来运行应用程序,但它不起作用,并且在权限上显示错误

程序文件:

web: waitress-serve --port=80  ACE:wsgi.application
我希望django应用程序在heroku inn浏览器上运行,使用命令

-heroku local web
我得到的结果是:

[OKAY] Loaded ENV .env File as KEY=VALUE Format
16:15:41 web.1   |  Traceback (most recent call last):
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main
16:15:41 web.1   |      "__main__", mod_spec)
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code
16:15:41 web.1   |      exec(code, run_globals)
16:15:41 web.1   |    File "C:\Users\ramakrishnan_k\AppData\Local\Programs\Python\Python36-32\Scripts\waitress-serve.exe\__main__.py", line 9, in <module>
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site-packages\waitress\runner.py", line 279, in run
16:15:41 web.1   |      _serve(app, **kw)
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site-packages\waitress\__init__.py", line 11, in serve
16:15:41 web.1   |      server = _server(app, **kw)
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site-packages\waitress\server.py", line 85, in create_server
16:15:41 web.1   |      sockinfo=sockinfo)
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site-packages\waitress\server.py", line 229, in __init__
16:15:41 web.1   |      self.bind_server_socket()
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site-packages\waitress\server.py", line 360, in bind_server_socket
16:15:41 web.1   |      self.bind(sockaddr)
16:15:41 web.1   |    File "c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site-packages\waitress\wasyncore.py", line 369, in bind
16:15:41 web.1   |      return self.socket.bind(addr)
16:15:41 web.1   |  OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
16:15:41 web.1   |  C:\Users\ramakrishnan_k\Desktop\Dock\static/ static path
16:15:41 web.1   |  C:\Users\ramakrishnan_k\Desktop\Dock\media media rooot
16:15:41 web.1   Exited with exit code 1
[OK]以KEY=VALUE格式加载ENV.ENV文件
16:15:41 web.1 |回溯(最近一次呼叫最后一次):
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\runpy.py”,第193行,运行模块作为主模块
16:15:41网页1 |“uuu main_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\runpy.py”,第85行,运行代码
16:15:41 web.1 | exec(代码,运行|全局)
16:15:41 web.1 |文件“C:\Users\ramakrishnan_k\AppData\Local\Programs\Python\Python36-32\Scripts\waiterserve.exe\\ uu main_uu.py”,第9行,在
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\site packages\waitress\runner.py”,第279行,正在运行
16:15:41 web.1 | | U服务(应用程序,**千瓦)
16:15:41 web.1 |文件“c:\users\ramakrishnan_k\appdata\local\programs\python\python36-32\lib\site packages\waitess\\uu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
16:15:41 web.1 |服务器=_服务器(应用程序,**千瓦)
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\site packages\waitress\server.py”,第85行,在create|u server中
16:15:41网页1 | sockinfo=sockinfo)
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\site packages\waitess\server.py”,第229行,在u init中__
16:15:41 web.1 | self.bind_server_socket()
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\site packages\waitress\server.py”,第360行,在bind|server|socket中
16:15:41 web.1 | self.bind(sockaddr)
16:15:41 web.1 |文件“c:\users\ramakrishnan|k\appdata\local\programs\python\python36-32\lib\site packages\waitress\wasyncore.py”,第369行,在bind中
16:15:41 web.1 |返回self.socket.bind(addr)
16:15:41 web.1|OSError:[WinError 10013]试图以访问权限所禁止的方式访问套接字
16:15:41 web.1 | C:\Users\ramakrishnan|k\Desktop\Dock\static/static path
16:15:41 web.1 | C:\Users\ramakrishnan|k\Desktop\Dock\media rooot
16:15:41 web.1已退出,退出代码为1
这是错误的


预期输出,因为它应该为您提供env和procfile状态的OK状态,并在浏览器中运行heroku应用程序。

在windows环境中使用heroku…意味着什么?我看到您正在使用,但我也看到您在Windows服务器上,并且您正在尝试使用标准HTTP端口。这是用于开发还是用于生产?(我这样问是因为
heroku
不是在自己的机器上运行的web服务器。它是一个命令行工具,用于与heroku.com上的生产平台即服务产品交互。
heroku local
显然还没有做好生产准备。)在windows环境下运行heroku无法修复套接字错误我仍然认为您误解了heroku是什么。除了在开发中,您不应该在任何地方运行它。从web服务器的意义上讲,它不在Windows上“运行”。它只是一个与heroku.com上运行的服务交互的工具。尝试让它在端口80上侦听的理由很少(我想不出一个)。