시놀로지 nas에서 도커를 설치하고 ubuntu 이미지를 다운로드후
로컬호스트설정 <- 포트포워딩 개념을알면 똑같이 적용됨
볼륨도 nas 특정폴더 -> 내부 우분투 폴더로 매핑가능함
nas 내부에서 ssh 로 접속해서 파이썬 설치하고 어쩌고하는것보다 깔끔함
db는 개인적인생각이지만 분리해서 nas 자체가 가지고 있는게 좋아보임
뭐 그때그때 다르지만.. 서도..
간단히 테스트용
---------------------------------------------------------------------------
apt-get update : 업데이트 작업
apt-get install net-tools : 네트워크명령어 설치
apt-get install vi : vim 에디터 설치(vim으로 수정하는거 싫지만 터미널 이기때문에 어쩔수없음 vi와 vim 은 다르지만서도.. 그냥 터미널 메모장이자나 스봉 -_-)
(vim 설치안되면
apt-get update
apt-get install apt-file
apt-file update
apt-get install vim
해볼것!!)
apt-get install openssh-server : ssh 서비스 설치인데.. 이과정에서 파이썬3가 설치되는거 같은?
vi /etc/ssh/sshd_config : vim으로 들어가서 PermitRootLogin yes로 변경 #지우고
service ssh start : ssh 서비스 실행(아까 로컬호스트에서 설정한포트로 들어가짐
service --status-all 으로 실행중인지 확인해볼것)
ssh접속해서 해당디렉토리에서 (ls해보면 없는데 cd .. 으로 한수준 뒤로 갈것)
nas에 바인딩된 볼륨폴더로 가서
nohup python3 aaa.py
하고 ssh 종료하고
flask 를 종료할때
sudo -i <- 루트권한 종료할때는 exit 도커터미널에서는 굳이안해도됨
ps -ef | grep python <- 파이썬으로 실행중인 프로세스 찾기
kill -9 PID <- 해당 pid로 프로세스종료
리얼루다가 배포할때는 아래처럼 uwgi 깔고 nginx 깔고 바인드 시켜야함
요건 간단하게 할때쓰는거임
------------------------------------------------------------------------
[Docker Ubuntu+NGINX+uWSGI+flask]$ docker run -p 8080:8080 -it --name flask -v /home/docks/flask:/var/www/html ubuntu
# apt-get update
# apt-get upgrade
# apt-get install vim
# apt-get install net-tools
# apt-get install nginx # Nginx
# apt-get install uwsgi # uWSGI
# apt-get install uwsgi-plugin-python3 # python과 uWSGI를 연결하는 플러그인
# apt-get install python3
# apt-get install python3-pip python3-dev
# pip3 install -U pip
# pip3 install virtualenv
# cd /var/www/html
# virtualenv service
# cd service
# . bin/activate
# pip3 install flask
# pip3 install uwsgi
# cd /var/www/html/service
# vi app.py
---
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
---
# vi /etc/nginx/sites-available/default
---
server {
listen 8080; # 연결할 포트
server_name 0.0.0.0;
location / { try_files $uri @app; }
location @app {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi.sock;
}
}
---
# vi /etc/uwsgi/apps-available/uwsgi.ini
---
[uwsgi]
chdir=/var/www/html/service
chmod-socket=666
callable=app
module=app
socket=/tmp/uwsgi.sock
virtualenv=/var/www/html/service
---
# service nginx restart
# service uwsgi restart
# uwsgi /etc/uwsgi/apps-available/uwsgi.ini
--- 결론적으로 다가 위에것들을 다해놓은 도커이미지를 찾는게 더빠른? -_-;;
아니면 시놀로지에서 php처럼 전폭적인 지원으로 돌아가게 되는
python3+flask 엔진을 만들어 주면 땡큐하다.. 하지만
그냥 내가 php를 배워서 배포하는게 더 빠르다는것은 함정..
댓글 없음:
댓글 쓰기