728x90
반응형

IT 160

gunicorn 서비스로 등록하기

gunicorn의 시작, 중지를 쉽게 하고 리눅스 서버 재부팅시 gunicorn 자동실행을 위해 환경 변수 파일 생성 /home/ubuntu/venv/myproject.env FLASK_APP=pybo FLASK_ENV=development APP_CONFIG_FILE=/home/ubuntu/projects/myproject/config/production.py 서비스 파일 생성 /etc/systemd/system/myproject.service [Unit] Description=gunicorn daemon After=network.target [Service] User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/projects/myproject Enviro..

IT/서버 2021.06.07

wsgi 서버

wsgi (Web Server Gateway Interface, 위스키) 웹서버와 웹 애플리케이션의 인터페이스를 위한 파이썬 프레임워크 ex) nginx와 flask 앱 사이에서 동작 wsgi 서버 종류 : uwsgi, gunicorn 등 설치는 pip로 pip install gunicorn 실행 위치 : flask 프로젝트가 있는 폴더에서 명령 포트로 서버 띄우려면 gunicorn --bind 0:5000 "pybo:create_app()" 유닉스 소켓 사용해서 실행 gunicorn --bind unix:/tmp/myproject.sock "pybo:create_app()" 소켓 방식으로 실행하면 브라우저에 url 쳐서 접속 불가 웹서버(nginx 등)가 유닉스 소켓으로 wsgi 서버에 접속해야 함

IT/서버 2021.06.07

[점프투플라스크] 303쪽 alias 안될때 (command not found)

서버 환경 설정 파트의 맨 마지막에 alias를 이용하는 방법이 나옴 리눅스에서 홈 디렉토리의 .profile 파일을 수정하는 방법임 해당 파일의 맨 밑에 아래와 같이 alias를 등록하면 아무데서나 myproject 명령어로 환경 변수 설정과 동시에 가상환경에 진입할 수 있다고 alias myproject='export FLASK_APP=pybo;export FLASK_ENV=development;export APP_CONFIG_FILE=/home/ubuntu/projects/myproject/config/production.py;cd ~/projects/myproject;. ~/venvs/myproject/bin/activate’ 그런데 예제대로 .profile 파일을 변경하고 myproject를 실..

IT/서버 2021.06.07

flask run 했을때 에러 OSError: [Errno 98] Address already in use

aws lightsail 인스턴스를 새로 생성하고 모바텀에서 접속을 해놨는데 고정 ip를 발급받으면서 ip가 변경되는 와중에 먹통이 됐었음 ip 정보 수정하고 다시 접속해서 flask run 했더니 아래처럼 나옴 ~/projects/myproject$ flask run * Serving Flask app 'pybo' (lazy loading) * Environment: development * Debug mode: on Traceback (most recent call last): File "/home/ubuntu/venvs/myproject/bin/flask", line 8, in sys.exit(main()) ... OSError: [Errno 98] Address already in use 앞서 f..

IT/서버 2021.06.04

aws 라이트세일 인스턴스 생성하고 ssh로 연결(모바텀)

aws 라이트세일 ec2보다 저렴하고 사용도 간편한 클라우드 서버 가입 후 한달 무료로 사용 가능 이후 월 3.5$ 요금제로 이용 가능 https://aws.amazon.com/ko/lightsail/ Amazon Lightsail | 가상 프라이빗 서버(VPS) | AWS 멋진 웹 사이트를 빠르게 만들 수 있습니다. Lightsail의 미리 구성된 애플리케이션(WordPress, Magento, Plesk, Joomla 등)을 사용하여 블로그, 전자 상거래 또는 개인 웹 사이트를 만들고 사용자 지정하십 aws.amazon.com 로그인 회원가입 후 로그인 시 보안검사에서 보안문자 제출이 안되는 문제가 있었는데... 크롬의 문제였던 듯, 엣지 브라우저에서는 잘 넘어가서 로그인성공함 인스턴스 생성 리전은 ..

IT/서버 2021.06.04

[git] error: pathspec '...' did not match any file(s) known to git

커밋 에러 프로젝트를 git에 올리기 위해 git init 으로 초기화 하고 git add * 으로 수정된 파일들 추가한 후 git commit -m '파이썬 프로젝트 커밋' 을 실행했는데... (myproject) C:\projects\myproject>git commit -m '파이썬 프로젝트 커밋' error: pathspec '프로젝트' did not match any file(s) known to git error: pathspec '커밋'' did not match any file(s) known to git 커밋 메시지를 왜 걸고 넘어져...? 에러메시지를 구글링 해보면 커밋이 아닌 브랜치 체크아웃 문제라고 나온다. git remote update 한 후 git fetch 하면 해결된다고 하..

IT 2021.06.03

[플라스크] 앵커로 스크롤 유지하기

앵커를 이용해 스크롤 위치를 이동시키는 것은 html 기능임 a 태그는 보통 href="..."로 링크로 사용하는데 href가 아닌 name을 달아두고 주소창에 #name을 써주면 해당 위치로 스크롤시켜준다. 플라스크에서 url_for와 redirect를 이용해 앵커 엘리먼트를 넘겨주고자 하면 아래처럼 쓰면 된다. html bp return redirect('{}#comment_{}'.format( url_for('question.detail', question_id=comment.answer.question_id), comment.id))

IT/파이썬 2021.06.01

[점프투플라스크] 이미 추천했습니다 띄우기

점프투플라스크 216쪽 자신의 글 추천시 오류 표시기능을 추가하는데 이미 추천한 글을 또 추천할때도 오류 표시를 해주고 싶을떼 vote_views.py @bp.route('/question//') @login_required def question(question_id): _question = Question.query.get_or_404(question_id) print(g.user, "/*/*/*/*/*", _question.voter) print("===>", g.user in _question.voter) ... 이렇게 찍어보면 g.user가 voter에 있으면 true를 반환하는 게 보인다. print를 지우고 elif문을 추가하자 @bp.route('/question//') @login_req..

IT/파이썬 2021.06.01
300x250
반응형