목차

1. 개요
2. 설치법
3. 관련 이미지
4. 기타 주의 사항
5. 여러 문제 사례 해결 방안
5.1. 라이브러리 설치 문제
5.2. 퍼미션 거부 문제

1. 개요

이 사이트(1)에다가 오픈나무를 올리는 방법을 설명하는 문서입니다.

2. 설치법

  • 일단 가입을 하고 로그인을 하세요. 이건 물어도 대답 못 해줍니다
  • 맨 처음 대쉬보드 화면에 들어가면 이제 $Bash라고 적힌 것을 눌러줍니다.
  • 그러면 익숙한(?) 화면이 뜹니다.
  • 우분투에 설치하는 것 처럼 git으로 오픈나무를 받고 한 번 실행시켜줍니다.
  • 자세한 내용은 새로운:설치법#우분투을 참조하세요.
  • 주의 : 이 상태(콘솔)에서 무조건 오픈나무를 한번 실행하고 초기 설정을 완료 해야합니다
  • 오픈나무가 정상 실행이 되었으면 오픈나무 끄고(2) 대시보드로 돌아갑니다.
  • 이제 Web apps이라고 되어있는 부분을 눌러줍니다.
  • 들어 갔으면 Add a new web app이라고 적힌 부분을 눌러줍니다.
  • 맨 처음 화면에서 Next를 누르고 그 다음 화면에서 Flask를 누릅니다.
  • 가장 최신 파이썬 버전을 고릅니다
  • Next를 누릅니다.
  • 그러면 이제 뭔가 뜨는데 거기서 Code라고 적힌 부분을 찾습니다.
  • Source code라고 된 부분 옆에 mysite라고 된 부분을 opennamu(혹은 오픈나무 폴더 이름)로 바꿉니다.(관련1 (3))
  • 그 아래 Working directory도 같은 폴더 이름으로 해줍시다.
  • 그리고 그 아래에 WSGI configuration file 옆에 누르고 싶게 생긴 파란 링크를 누릅시다.
  • 그러면 이제 뭐라뭐라 적혀 있는데 다 무시하고 mysite라고 된 부분을 opennamu(혹은 오픈나무 폴더 이름)로 바꿉니다.
  • 16번째 줄의 flask_app을 app으로 교체합니다.(관련2 (4))
  • 그리고 상단 오른쪽에 Save를 누릅니다.
  • 다시 대시보드로 나가서 Web apps 밑에 파란 링크를 눌러줍시다.
  • 그리고 맨 위에 정말 누르고 싶게 생긴 Reload를 누릅시다.
  • 기다립니다.
  • 이제 모든 과정이 끝났습니다. {{계정 이름}}.pythonanywhere.com에 들어가서 자유를 누립시다.
  • 추가 : 만약 HTTPS 설정하고 싶다면 웹 앱 패널로 다시 들어가서 맨 아래보면 Force HTTPS라고 적힌 부분의 버튼을 눌러줍시다.

3. 관련 이미지

파일:설정 1.png
이미지 1
파일:설정 2.png
이미지 2

4. 기타 주의 사항

파이썬 애니웨어에서는 내장된 다시 시작 기능이 안 먹히니까 Web apps에 들어가서 리스타트 해줘야합니다.

5. 여러 문제 사례 해결 방안

5.1. 라이브러리 설치 문제

023-03-10 07:45:11,014: Error running WSGI application
2023-03-10 07:45:11,014: ModuleNotFoundError: No module named 'diff_match_patch'
2023-03-10 07:45:11,015: File "/var/www/user_pythonanywhere_com_wsgi.py", line 16, in
2023-03-10 07:45:11,015: from app import app as application # noqa
2023-03-10 07:45:11,015:
2023-03-10 07:45:11,015: File "/home/user/openNAMU/app.py", line 5, in
2023-03-10 07:45:11,015: from route.tool.func import *
2023-03-10 07:45:11,015:
2023-03-10 07:45:11,016: File "/home/user/openNAMU/route/tool/func.py", line 71, in
2023-03-10 07:45:11,016: from diff_match_patch import diff_match_patch
2023-03-10 07:45:11,016: ***************************************************

이러한 버그 발생시 콘솔로 들어가서 아래와 같은 명령어로 시도해보면 됩니다

pip3 install -r requirements.txt (가장 최신 파이썬인 경우)
python(파이썬 버전) pip install -r requirements.txt (아래 예제 참조) (파이썬 버전이 최신과 다른 경우)
python3.10 pip install -r requirements.txt (파이썬 3.10인 경우)


설치가 성공했을 시에는 재시작을 해서 정상 실행이 되는 지 확인해보고 안되면 파이썬 버전을 다시 확인해보고 그래도 안되면 버그 리포트로 올려주세요

5.2. 퍼미션 거부 문제

File "/home/user/.local/lib/python3.10/site-packages/waitress/init.py", line 13, in serve
server = _server(app, **kw)
File "/home/user/.local/lib/python3.10/site-packages/waitress/server.py", line 78, in create_server
last_serv = TcpWSGIServer(
File "/home/user/.local/lib/python3.10/site-packages/waitress/server.py", line 244, in init
self.bind_server_socket()
File "/home/user/.local/lib/python3.10/site-packages/waitress/server.py", line 361, in bind_server_socket
self.bind(sockaddr)
File "/home/user/.local/lib/python3.10/site-packages/waitress/wasyncore.py", line 396, in bind
return self.socket.bind(addr)
PermissionError: [Errno 13] Permission denied


이미 해당 포트가 다른 용도로 사용 중이니 이머전시 툴로 다른 포트로 바뀌주세요
(1) 파이썬 호스팅 사이트
(2) 오픈나무가 켜져 있는 콘솔에서 컨트롤 + C를 누르면 꺼집니다
(관련1) 이미지 1 참고
(관련2) 이미지 2 참고