10.25 AITalkUat部署

准备:

git clone AITalkUat工程,在本地跑:

可以直接浏览器访问127.0.0.1:5000()

如果带上参数,可以得到访问的结果127.0.0.1:5000/autoservice?q=怎么结算?n=0

跑通了之后,因为要先在AITalkUat下测试,需要修改端口。

这里插入一段接口的实现,因为在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,

@echo of

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

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测试好了,要更新到正式环境:

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

2、在web_main里增加

 

import os

 

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

3、手动重启服务

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

 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来配置

目前还没完全弄懂,备选方案是:

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

二、尝试使用$host变量

posted @ 2018-10-26 14:49  yjy888  阅读(321)  评论(0编辑  收藏  举报