google dialogflow 사용을 위한 python flask 사용 및 linux 방화벽 세팅
python flask
python flask란?
초간단 웹서버
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 계정으로 접속해서 실행한다.
끝
리눅스 방화벽 설정 방법. (firewalld)
centos 7 방화벽과 centos6/ubuntu 방화벽 차이.
centos 6 및 ubuntu 용 방화벽 : iptables
centos 7 : firewalld.
http://blog.plura.io/?p=4519 을 참고할 것.
2.2. centos7 방화벽 설정 방법
설정을 바꿀 서비스를 선택.
change zone 버튼을 눌러서 public 등으로 변경
이 세팅을 다음번 부팅 시에도 쓸 수 있게 영구적으로 저장하고 싶으면, 영구적 버튼 선택.
변경을 확인하고 싶다면, 메뉴 -> 옵션 -> 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 -L -v |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
'인터넷/모바일 > 머신러닝' 카테고리의 다른 글
conda create 할 때에 https (SSL) 관련 에러가 나는 경우의 해결 방법 #2 (0) | 2019.08.06 |
---|---|
python에서 소스 코드 이름과 라인 번호 출력하기 (0) | 2019.02.13 |
pycharm에서 torch 인스톨 (0) | 2018.07.10 |
아나콘다 환경에서 pip install module 할 때에 utf-8 관련 에러 해결 방법. (0) | 2018.07.05 |
fbprophet 설치할 때에 PermissionError: [WinError 32] pip-sm1260j2-build 해결 (1) | 2018.06.22 |