Java&Flask

결과물

1.Flask설치하기

sudo apt-get update
sudo apt-get upgrade
==>무언가를 설치할 때는 먼제 update,upgrade를 해준다.
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
==>서버시간을 서울시간으로 맞춰준다
python --version
python3 --version
flask --version
==>버전 확인
sudo apt -y install python3-flask
cd /home/master==>설치할 위치
mkdir marigold51
sudo apt -y install vsftpd
sudo nano /etc/vsftpd.conf
write_enable=YES => 주석풀기
ctrl+x,shfit+y(nano저장 나오기)
systemctl start vsftpd
netstat -ant | grep 21
21번은 포트 번호
우분투에서는21번 포트 설치
웹브라우저의 포트와 우분투 서버의 포트가 동일 해야해서 설치
웹브라우저가 21번을 통해 버추얼박스로 들어오면 우분투에 설치된 21번 포트를 통해 들어옴
editplus에서 ftp설정 ,ip주소로 설정
passive ftp 모드 해제
cd marigold51
master모드에서 marigold51의 chmod모드 변경(755)
chmod 755 marigold51
systemctl restart vsftpd==>설정변경시 다시 시작 필수
nano index.py(marigold51)내용

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():
return 'Hello Flask'
if __name__ == '__main__':
app.run(debug=True,port=80,host='0.0.0.0')

master에서 marigold51로 이동
python3 index.py실행
결과가 에러일 경우
sudo python3 index.py 실행
인터넷주소에 marigold.kr:8051입력
'Hello Flask' 나오면 성공

2.Apache 설치


Apache 설치 이유 : Flask만 사용시 사이트가 불안정하기 때문에
아파치 화면이 뜨는 이유 : 플라스크를 끄고 아파치를 실행해서
아파치 설치
sudo apt-get -y install apache2 (root에서 실행
netstat -ant | grep 80 로 확인
sudo apt-get -y install libapache2-mod-wsgi-py3
sudo nano /home/master/marigold51/run.wsgi(master로 실행
---------------------------
import sys
sys.path.insert(0,'/home/master/projects/flask')
from index import app as application
===>작성
---------------------------
conf파일 만들기
sudo nano /etc/apache2/sites-available/flask.conf
VirtualHost *:80>
ServerName st.au
DocumentRoot /home/master/marigold51
WSGIDaemonProcess app user=master group=master threads=5
#python-home=/home/master/venvs/mysite
WSGIScriptAlias / /home/master/marigold51/run.wsgi
ErrorLog ${APACHE_LOG_DIR}/flask-error.log
CustomLog ${APACHE_LOG_DIR}/flask-access.log combined
Directory /home/master/marigold51>
WSGIProcessGroup app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Require all granted
/Directory>
/VirtualHost>
sudo a2ensite flask.conf
sudo a2dissite 000-default
apachectl -t==>Syntax OK나오면 성공
sudo systemctl restart apache2
cd /home
master 권한 711로 변경
ls -al 로 확인
아이피로 사이트 접속하면 화면이 나온다
사이트의 내용을 변경하면 아파치를 재시작해야 적용이 된다.
sudo systemctl restart apache2
이유 : 서버를 운영하는 것이 플라스크에서 아파치로 바뀌었고 아파치랑 플라스크가 연동되어있기 때문에 아파치를 재시작을 해준다