728x90
반응형
SMALL
파이썬 파일 생성
터미널에서 다음을 명령한다.
vim test.py
그리고 test.py에 다음 코드를 편집하여 추가한다.
import numpy as np
from sklearn.linear_model import LinearRegression
from flask import Flask, request, jsonify
app = Flask(__name__)
np.random.seed(0)
X = np.random.rand(10, 1)
y = 2 * X + 1 + 0.1 * np.random.randn(10, 1)
model = LinearRegression()
model.fit(X, y)
@app.route('/')
def welcome():
return 'HELLO, ML API SERVER'
@app.route('/predict', methods=['POST'])
def predict():
data = request.json
new_X = data['input']
y_pred = model.predict(np.array(float(new_X[0])).reshape(1, -1))
res = jsonify({'predicted_output': y_pred.tolist()})
return res
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
인바운드 규칙 설정
외부 브라우저에서 접속하기 위해 cmd → ipconfig나 네이버에서 자신의 공인 IP를 조회하여 CIDR 블록에 추가한다.
서버에 접속
터미널에서 다음 명령을 수행하여 서버에 접한다.
python test01.py
gunicorn
gunicorn은 파이썬 웹 서버 게이트웨이 인터페이스 HTTP 서버이다. 이것으로 Flask에 접속한다. 터미널에서 다음 명령어를 실행한다.
gunicorn test01:app --bind 0.0.0.0:5000
Nginx 수정
sudo vim /etc/nginx/sites-enabled/default
# 재시작
sudo systemctl restart nginx
sudo systemctl status nginx
다음 명령을 통해 gunicorn 백그라운드를 실행한다.
nohup gunicorn test01:app --bind 0.0.0.0:5000 >& /dev/null &
kill
ps -ef | grep test01
728x90
반응형
LIST
'App Programming' 카테고리의 다른 글
어플리케이션 배포 환경 (2) (0) | 2023.07.12 |
---|---|
어플리케이션 배포 환경 (1) (0) | 2023.07.12 |
가상화 (Virtualization) (0) | 2023.04.01 |
[Flask] 라우트 (Route) (0) | 2023.01.30 |
[Flask] 환경 설정 (0) | 2023.01.30 |