python – 在实时服务器上开始使用金字塔

我在本地虚拟环境中成功运行了simplest pyramid app.我现在正在努力this tutorial,但我试图通过在我的personal hosting网站上运行它来更进一步,我用它来搞乱这样的东西.

我的问题是.我将什么传递给make_server(主机,端口,应用程序)作为参数以及我要检查哪些URL以查看它是否正在运行?我知道这是一个简单的问题,我只是不习惯这种工作,而documentation并没有帮助我.

奖励积分:

在本地虚拟环境中运行此操作与在此类Web应用程序方面正确托管之间有什么区别?

重要的编辑:我的提供商是bluehost,因为我没有专用的IP,我不允许打开我自己的端口,这让我想知道这是否可能

最佳答案
实际上,在“真实”的Web服务器上托管Python应用程序与在本地计算机上运行它完全不同:本地您依赖于通常内置于框架中的小型Web服务器 – 但是,该Web服务器通常具有局限性(例如,它可能只在单个线程中执行请求).一些框架(Django)明确声明他们的内置服务器应该只用于开发.

在生产环境中,Python应用程序通常由“工业级”Web服务器提供服务,例如Apache或Nginx,它负责解决诸如绑定到低端口,删除权限,产生多个“工作”进程,处理虚拟等问题.主机,清理格式错误的请求等.然后使用mod_wsgi或fcgi for Apache或uwsgi for Nginx在Web服务器中运行Python应用程序.或者,您的应用程序作为单独的进程运行,侦听127.0.0.1:6543(就像您在本地执行一样),“前”Web服务器代理对您的应用程序的所有请求并返回.

重点是:在通用共享主机上托管Python应用程序可能很棘手/不可能,除非您的提供程序明确支持托管WSGI应用程序(询问他们的说明)

另一点:这些天你可以获得5美元/美元的专用虚拟机,你可以安装任何你想要的东西,而不是与任何人分享.托管Python网站比处理共享托管更容易.

啊,并回答这个问题:在实际的生产应用程序中,示例的最后两行:

server = make_server('0.0.0.0', 8080, app)
server.serve_forever()

将不会使用 – 而是配置Web服务器,以便它知道app变量包含您的wsgi应用程序.有关更实际的示例,请参阅文档中的next chapter.

转载注明原文:python – 在实时服务器上开始使用金字塔 - 代码日志