10.25 AITalkUat部署

准备:python

git clone AITalkUat工程,在本地跑:nginx

能够直接浏览器访问127.0.0.1:5000()git

若是带上参数,能够获得访问的结果127.0.0.1:5000/autoservice?q=怎么结算?n=0web

跑通了以后,由于要先在AITalkUat下测试,须要修改端口。flask

这里插入一段接口的实现,由于在winServer下不能直接用flask部署,咱们须要安装tornado。浏览器

在工程文件下,增长tornado_server.py,服务器

from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from web_main import app

if __name__ == '__main__':
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)#对应flask的端口
print('IOLoop.instance() start')
IOLoop.instance().start()
print('IOLoop.instance() end')

下面的端口5000改成5001。若是要添加定时任务,就新增tornado_server.bat,app

@echo oftornado

#这里可能须要cd到工程目录oop

start python tornado_server.py
exit

可是由于咱们在部署服务上,使用了win server wrapper部署,因此其实不须要这个bat文件

 

下面说怎么部署

在部署以前,咱们须要在web_main.py里,增长代码

import os

os.chdir("D:/project/AITalkUat/app/")

指定程序运行的路径,不然会出现加载字典路径错误的状况。

 

先把工程文件AITalk,复制到D:\project\AITalkUat\app目录下,返回上一层目录,发现咱们有写好了一个.bat文件 installservice.bat,还有一个winsw-1.9-bin,和指定winsw运行的目标的xml配置文件,

配置好以后,点击installservice,在服务器管理中,就会出现AITalkUat的服务,把这个服务启动,本地就能够访问了。

若是再UAT测试好了,要更新到正式环境:

一、把AITalkUat复制过去,改一下端口,5000

二、在web_main里增长

 

import os

 

os.chdir("D:/project/AITalk/app/")

三、手动重启服务

四、接下在就在本地的浏览器测试。

 http://127.0.0.1:5000/autoservice?q=小票机如何使用&n=1

 

 复制find_question.py normalize.py simi_utils.py到服务器,并复制模型文件(可能要修改路径),还有stopwords, keywords, useridct到服务器,重启服务

=====================================================

若是须要远程进行访问,咱们直接kf.pospal.cn:5001并不能够,须要在nginx当中配置,并使用命令nginx -t 检查语法,而后nginx -reload ,reload并不会影响线上的服务,可是在工做时间段,仍是不要动。

至于怎么配置,我在listen 80 default server下添加:

location/test {

  proxy_pass http://localhost:5001;

}

尝试使用反向代理访问,但是出现404,问了bo哥之后,给出的答案是:

你说的nginx 配置问题是由于这个nginx是按照hostname来配置的。须要在对应的section(按照hostname去找)里面去配置才能够。

主要是看是否有经过hostname来配置

目前还没彻底弄懂,备选方案是:

1、在listen 80下添加这个块(非default server)

2、尝试使用$host变量

相关文章
相关标签/搜索