准备: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变量