열정, 근면, 성장
AWS EC2로 웹 배포하기(2) 본문
AWS EC2로 웹 배포하기(1)
https://www.youtube.com/watch?v=oGQ1HteFYnQ&list=PLH9HSwujTRvrRpzs3I5fLA3O7AZq7ac37&index=14&t=1130s 위 유투브를 기반으로 작성했습니다. -현재 진행상황 EC2 인스턴스 실행, 탄력적 IP 받아놓음(프리티어, amazon ubuntu) pem
growing-sub.tistory.com
로컬에서 했던 것처럼
python manage.py runserver 하면 퍼블릭IP:8000 이런식으로 쳐서 어디서든 일단 볼 수 있
pip install uswgi
웹앱이 인터페이스랑 연결하는게 잘됐다
nginx
웹서버랑 http 프로토콜 요청을 처리할 서버를 만들기
에러...
-nginx 에러 확인하는 법
tail -f /var/log/nginx/error.log
ex) error 13 permission denied
아래까지는 가능 근데 sudo 안 쓰면 Permission Denied 뜬다.
sudo uwsgi --http :80 --home /home/ubuntu/BUS-PROJECT-1/venv --chdir /home/ubuntu/BUS-PROJECT-1/ --module bus.wsgi
socket 사용에서 문제가 있는 건가싶었다.
uwsgi.sock 파일을 프로젝트 폴더에서 다른 폴더로 옮겼더니 성공했다.
중간중간 다른 에러를 고친 것도 도움됐겠지만, 최종적으로 파일 위치 옮긴 후에야 502 Bad gateway를 벗어났다.
2023.4.16 추가
Permission Denied는 파일 접근 권한 설정 문제다.
사이트 보안을 위해 무조건 chmod 777 난사하는 것은 비추다.
https://engineer-mole.tistory.com/202
[Linux] Linux의 파일, 폴더 권한 확인과 변경 (chmod)
파일/디렉토리의 권한 (퍼미션) 확인 아래의 Linux 커맨드로 현재의 디렉토리 안의 파일이나 디렉토리의 정보를 확인한다. $ ll 혹은 ls -l 그럼 다음과 같이 커맨드 라인에 출력될 것이다. -rw-r--r-- 1
engineer-mole.tistory.com
-사용자별 파일 권한 확인하는 커맨드
ls -l
r(4): 읽기
w(2): 쓰기
x(1): 실행
권한을 나타내는 숫자는 총 세 자리다.
첫번째 자리는 소유자 권한, 두번째는 파일의 소유그룹 권한, 세번째는 Others 타인에게 부여된 권한이다.
따라서, 777이면 소유자 권한 '읽쓰실' 다 가능(4+2+1), 소유그룹 다 가능(4+2+1), 타인도 다 가능(4+2+1)
결론: Permission Denied 뜨면 error log 들어가서 어떤 경로(혹은 파일) 권한 문제인지 확인한 후,
권한을 바꾸는 커맨드 chown -R [유저이름]:[유저이름] [파일 경로] 해보기
ex)
chown -R username:username /tmp/uwsgi.socket
참고
https://parkeunsang.github.io/blog/dummy/2022/08/16/nginx-sock-failed-13-permission-denied.html
https://incoffee.tistory.com/6
https://velog.io/@tn841/Django-with-uWSGI-nginx
https://engineer-mole.tistory.com/202#recentEntries
'코딩 > 웹 개발' 카테고리의 다른 글
Git 익히기 (0) | 2023.03.19 |
---|---|
AWS EC2로 웹 배포하기(4) (0) | 2023.02.18 |
AWS EC2로 웹 배포하기(3) (1) | 2023.01.03 |
AWS EC2로 웹 배포하기(1) (0) | 2022.12.31 |
Javascript에서 http GET 하기 (2) | 2022.12.04 |