이전에는 로컬에서 접속할 수 있는 서버를 만들었다.
이 서버를 다른 컴퓨터에서 접속하면 어떻게 될까?

화면의 아래쪽을 보면 PublicIPs라고 써진 부분에 IP주소를 확인할 수 있다.
이 주소를 쳐서 접속해보기로 했다.

접속이 되지 않는다.
그 이유는 http://54.180.150.169에 접속하면 포트80번으로 자동으로 연결되는데,
우리가 열어둔 포트는 8000번이기 때문이다.
이 문제를 해결하는 것이 Nginx이다.
nginx는 서버와 클라이언트 사이에 존재하는 프록시 서버로, 클라이언트의 요청을 서버로 대신 전달해주는 역할을 한다.

위의 그림처럼 80번 포트로 들어온 요청을 실제로 열려있는 포트로 전달해주는 것이 nginx이다.
sudo apt install nginx
위의 명령어를 통해 간단히 설치할 수 있다.

설치가 되었다면 이제 8000번 포트로 링크할 수 있도록 설정해주어야 한다.
sudo vi /etc/nginx/sites-enabled/default
명령어를 입력하면 vi 편집기가 열린다.

당황하지 말고 아래로 스크롤 해서 내려가면 location이라는 부분이 보인다.

location / 뒤에 붙은 중괄호 안의 내용을 변경해주면 된다.
변경할 때는 i를 눌러 INSERT모드로 바꾸고
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $http_host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Photo $scheme;
이 내용을 중괄호 안에 넣어주면 된다.

저장하고 나가기 위해서 esc를 누르고 :wq!를 치고 엔터를 치면 된다.
변경사항을 반영하기 위해 nginx를 재실행 해준다.
실행하기
sudo service nginx start
재실행하기
sudo service nginx restart
종료하기
sudo service nginx stop

그리고 -t옵션으로 설정 파일의 문법이 정확한지 검사할 수 있다.
sudo nginx -t
문제가 없다고 떴으니 이제 다시 서버를 열고 테스트할 수 있다.
uvicorn main:app 명령어로 서버를 열어주고

아까와 같은 IP주소를 통해 접속할 수 있다.

문제없이 잘 뜨는 것을 확인할 수 있다.
끝.