前段时间,有个使用python的微web框架Bottle开发的小网站需要部署在Win Server 2008系统上,在Linux系统上有很多选择,但在Win系统下部署一开始还没有头绪。尝试了一些方法后,最后选择使用批处理的方式来运行网站主程序,然后在计划任务中添加一个跟随系统启动的计划任务。但网站表现始终不如人意,经常会出现网站没有启动,打开计划任务会显示如“映像篡改”等提示。
近日寻求解决方法,在http://www.cnblogs.com/xiaolecn/p/5111076.html飘逸的小乐的博文中《用wfastcgi在IIS下部署Django&Flask》,经过仔细研究和实验,成功实现了Bottle的部署。
本文仅说两点予以补充:
1.其部署的步骤,可以直接查看以上提到l博文,但在“添加模块映射”对话框中模块应选择“FastCgiModule",而不是图中的“CgiModule"。
2.在部署Flask时,要求使用app,而Bottle也是有同样的功能的。即使用Bottle开发的网站时,使用类似以下代码即可:
from bottle import Bottle
app = Bottle()
@app.route(...)
def index():
pass
if __name__ == '__main__':
run(app)
这样就可以和Flask一样进行部署了。
2018-01-26补:
发现网站无法更新数据,经调试是权限的问题。(通过查看任务管理器中的运行用户为myweb),需要修改wfastcgi的执行用户身份。其进入的路径为:IIS管理器>应用程序池。对要设置的应用程序池中的程序进行高级设置,在“进程模型”子项目中“标识”选择使用“应用程序池标志”为自定义帐户(根据系统的需求来选择使用的帐户)。