본문 바로가기
인터넷/모바일/머신러닝

google dialogflow 사용을 위한 python flask 사용 및 linux 방화벽 세팅

by blade. 2018. 11. 9.

google dialogflow 사용을 위한 python flask 사용 및 linux 방화벽 세팅

  1. python flask


    1. python flask란?


초간단 웹서버


    1. python flask 설치 방법.


# pip install flask


# vi hello.py


1
2
3
4
5
6
7
8
9
10
11
12
13
14
from flask import Flask, request, jsonify
 
app = Flask(__name__)
 
@app.route( '/' )
@app.route( '/index' )
 
def index():
        return  ‘’’
hello world.
‘’’
 
if __name__ == '__main__':
        app.run( host='0.0.0.0', port=80, threaded=True )   # 모든 주소에서 수신.
cs


80번 포트를 사용하고 있으므로,  실행은 root 계정으로 진입해서 실행해야만 함.


1
2
3
4
5
su - root
source activate py36     #
python hello.py
 
# http://127.0.0.1 로 접속해서 확인.
cs


두번째는 google dialogflow 용 프로그램 예제.

# vi hello2.py


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from flask import Flask, request, jsonify
 
app = Flask(__name__)
 
@app.route( '/' )
@app.route( '/index' )
 
def index():
       return '''
<iframe
   allow="microphone;"
    width="350"
    height="430"
    src="https://console.dialogflow.com/api-client/demo/embedded/2c9eb506-d3d6-42df-bcd4-a62fe654271f">
</iframe> '''
 
if __name__ == '__main__':
        app.run( host='0.0.0.0', port=80, threaded=True )   # 모든 주소에서 수신.
cs


hello.py와 마찬가지로 root 계정으로 접속해서 실행한다.


  1. 리눅스 방화벽 설정 방법. (firewalld)


    1. centos 7 방화벽과 centos6/ubuntu 방화벽 차이.


centos 6 및 ubuntu 용 방화벽 : iptables

centos 7  : firewalld.

http://blog.plura.io/?p=4519 을 참고할 것.


2.2. centos7 방화벽 설정 방법




  1. 설정을 바꿀 서비스를 선택.

  2. change zone 버튼을 눌러서 public 등으로 변경

  3. 이 세팅을 다음번 부팅 시에도 쓸 수 있게 영구적으로 저장하고 싶으면, 영구적 버튼 선택.

  4. 변경을 확인하고 싶다면, 메뉴 -> 옵션 ->  firewalld 다시 읽어오기 메뉴 선택.


1
2
3
# vi /etc/firewalld/zones/public.xml
 
<port protocol="tcp" port="80"/>     # 서비스를 위한 포트 추가.
cs


저장하고 나와서, firewalld 재기동.


firewall-cmd --reload # firewalld 재기동.


원하는 포트가 연결됐는지, 스마프폰 등으로 접속해서 확인.


2.3. ubuntu 방화벽 설정 방법


1
2
3
4
5
iptables -I INPUT -p tcp --dport 80 -j ACCEPT     # 80 포트를 외부에서 접속할 수 있도록 방화벽 오픈 설정.
 
iptables-save          # 변경된 설정을 방화벽에 적용. 
 
iptables --|grep 80      # 80 포트가 제대로  열렸는지 확인.
cs


# netstat에서 80 포트 LISTEN 중인지 확인.


[root@localhost ~]# netstat -na |grep -w 80

tcp        0 0 127.0.0.1:80            0.0.0.0:* LISTEN  

tcp        0 0 175.193.219.81:42412    23.65.188.83:80 ESTABLISHED