我正在开发一个适中的CherryPy / SQLite应用程序。 我想把它放在云中的服务器上进行客户端testing。 为此,我在Rackspace中创build了一个小型Ubuntu实例,并进行了一些初步安装(setup-tools和CherryPy)。
既不是pipe理员,也不是特别熟悉的Linux我有一些相当简单的问题,关于部署这个应用程序,我一直无法用Google来回答:
我假设我应该创build一个用户帐户专门运行该应用程序,而不是使用root或任何其他现有的帐户?
我不知道我应该在哪里移植我的应用程序文件夹。 我猜他们应该进入/ usr / user-I-created-question-1 /。 那是对的吗?
我正在使用CherryPy服务器,这似乎是足够我的这个应用程序的需求。 在putty会话中启动应用程序的正确方法是在Windows机器上终止putty会话吗?
除了我自己访问网站之外,还有哪些工具或技术可用来监控正常运行时间,或知道服务器是否变得不可用?
你知道,如果只是在有限的时间内进行testing,那么按照你所说的方式来说,可能是很好的。 虽然在这种情况下也可能是好的,以任何用户身份运行。 可能最好创build一个非特权用户并在其下运行。
你把它放在哪里? 可能位于用户主目录的子目录中,如“/ home / username / mywebapp”。
你可能想运行“screen”(apt-get install it,如果它不存在的话),然后运行web-app。 您可以使用“screen -x”重新连接,您可以使用“Control-A Control Control-D”将其分离。 这样,当你断开连接时,它不会死亡。
然而, 我会这样做的方式是在Apache下运行它,所以Apache启动和停止应用程序。 它也运行在Apache用户下,这可能是好的或坏的,但通常是好的。 通常这将涉及:
它应该包含:
WSGIPythonPath /path/to/webapp/root WSGIScriptAlias /appname /path/to/webapp/root/controller.py
WSGI示例:
cfg = config() cherrypy.config.update() application = cherrypy.APplication(None, script_name = '/appname', config = cfg)
关键是您需要在您的控制器中创build一个“应用程序”对象。
一旦你这样做,你应该能够重新启动Apache(/etc/init.d/apache2 restart),然后通过该URL访问webapp。