我想在heroku上啓動Python HTTPServer。請注意,這不是Python框架。代碼片段附在下面。我怎樣才能在Heroku上啓動這個服務器?我能夠在本地機器上運行此服務器。但是我希望它部署在Heroku上。請提供見解。如何在heroku上啓動Python SimpleHTTPServer?
服務器代碼:
web: python yourscript.py
我想在heroku上啓動Python HTTPServer。請注意,這不是Python框架。代碼片段附在下面。我怎樣才能在Heroku上啓動這個服務器?我能夠在本地機器上運行此服務器。但是我希望它部署在Heroku上。請提供見解。如何在heroku上啓動Python SimpleHTTPServer?
服務器代碼:
web: python yourscript.py
當Heroku上運行您的程序,它定義了環境變量PORT
你應該暴露你的服務器的內部端口:
import http.server
from http.server import HTTPServer, BaseHTTPRequestHandler
import socketserver
import threading
PORT = 5001
class myHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.write("Heroku is awesome")
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
try:
server = ThreadedTCPServer(('', PORT), myHandler)
print ('Started httpserver on port ' , PORT)
ip,port = server.server_address
server_thread = threading.Thread(target=server.serve_forever)
server_thread.daemon = True
server_thread.start()
allow_reuse_address = True
server.serve_forever()
except KeyboardInterrupt:
print ('CTRL + C RECEIVED - Shutting down the REST server')
server.socket.close()
這沒有幫助。使用PORT = environ ['PORT']而不是使用PORT = 8081.它在environ ['PORT']顯示關鍵錯誤。 –
這究竟是什麼,我需要這樣做,這有效嗎? –
在heroku上運行時,或者在本地計算機上運行時,是否收到錯誤消息? – Noskcaj
以上評論無效。因爲我正在定義一個你看到的端口。我正在打開https://myprojectname.heroku.com,但網頁未加載或不打印輸出。做這項工作的正確方法是什麼? –