[英]How to build Python 2.6.8 with zlib on Ubuntu Server 12.04?
[英]Run multiple Python programs on the same server (Ubuntu Server 12.04)
我正在用Python創建Web服務,並且有一個問題。 我要分離用戶登錄用戶數據。 為此,我正在創建兩個不同的Python程序。
例如:login.py->本地主機:8080 userData.py->本地主機:8081
我的問題是:如何在同一服務器上運行這兩個程序? 是否有易於使用的Python應用程序服務器?
非常感謝你!
如果Web服務器嵌入在應用程序中,則可能要使用某些“看門狗”應用程序來啟動/停止/重新啟動。
Ubuntu使用新貴 。
我也喜歡使用supervisor 。
如果應用程序支持某種Web服務器集成協議,例如FCGI或WSGI(Python的標准),則您可能希望使用Web服務器進行部署。 我已經使用apache mod_wsgi很久了,最近我傾向於使用nginx + uwsgi。 Apache是一個很好的網絡服務器,但是nginx + wsgi的擴展性更好。
[更新]
應用程序使用Bottle + PyMongo(MongoDB)對擴展性有何建議?
首先,您應該遵循框架文檔中有關部署的建議(瓶在這個主題上不是很冗長,因此我理解您為什么要問)。
B1評論是正確的。 您絕對希望將數據庫和應用程序放置在不同的服務器上。
為了以最小的模糊性獲得最大的可伸縮性,您可能需要查看一些PasS提供程序,例如heroku , 此處提供了說明 。 如果您是開發人員而不是系統管理員,那么這特別有意義。
由於您使用的是Ubuntu,因此請使用bash:
./login.py &
./userData.py &
這將在后台運行兩個腳本。
如果您希望這些腳本在關閉外殼后繼續運行:
at now < ./login.py
at now < ./userData.py
龍卷風是一個非常易於使用的應用服務器。 您可以使用不同的請求處理程序在不同的端口上偵聽。
它具有可伸縮性,可以處理數千個連接。 我們使用它來處理控制台服務器。 簡單的hello world代碼確實可以告訴您所有您需要了解的內容。 我添加了另一個HttpServer,以便單個ioloop在兩個不同的端口上處理請求:
import tornado.ioloop
import tornado.web
from tornado.httpserver import HttpServer
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
class OtherHandler(tornado.web.RequestHandler):
def get(self):
self.write("Goodbye, world")
application1 = tornado.web.Application([
(r"/", MainHandler),
])
application2 = tornado.web.Application([
(r"/", OtherHandler),
])
if __name__ == "__main__":
HttpServer(application1).listen(8080)
HttpServer(application1).listen(8081)
tornado.ioloop.IOLoop.instance().start()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.