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變量

相關文章
相關標籤/搜索