检查应用程序是否在服务器上运行或本地运行

问题描述:

我的应用程序使用Pythoncherrypy来提供Web服务。我想设置一个不同的配置文件,具体取决于我的应用程序是在本地机器还是在远程服务器上启动的。检查应用程序是否在服务器上运行或本地运行

有没有简单的方法来检查我的应用程序是从服务器还是从本地机器启动?如果没有,也许我可以通过一些参数,当运行python myApp.py,其中myApp.py然后将被传递到myApp.py?当然,自动解决方案会更好。

创建本地配置文件并在其中放置一个名为environment的变量。为本地环境分配dev,为生产分配production,以及任何你想要的东西。只需设置一次,然后随处重用它 - 如果你正在使用类似的git任何VCS,并用它来部署

from local_settings.py import environment 
if environment == 'dev': 
    debug = True 
    # anything you'd like 

,忽略local_settings.py文件。本地设置文件也可方便地保存任何VCS回购中不应公开的敏感数据,如API密钥和全部。

+0

那么,但不检入文件到VCS中会导致ImportError,不是吗? – cherrun 2013-03-21 10:02:55

+0

您必须手动创建一次文件。然后你可以使用它。您也可以捕获ImportError并假定它是生产环境。不管你喜欢什么。 – 2013-03-21 10:03:46