웹 서버 시작하기

베노 2023. 6. 24. 16:47

100년 만에 블로그 쓰는 거 같다 이유는 나중에 함



웹서버란

웹 서버란 우리가 인터넷 프로그램을 틀고 주소창에 http를 입력하여 원하는 사이트로 들어가고 검색하고 그런 걸 뜻한다

그냥 알아서 주워들으면 된다 ㅇㅇ

전문적이고 세세한 내용은 설치 및 운영을 진행하면서 알려드림


우선, 서버가 있어야 한다 개인이 준비를 하든 옆동네 철수집에서 컴퓨터를 훔쳐서 사용을 하든 본인이 준비하면 된다
난 20만 원 주고 구입했던 싸구려 서버컴퓨터가 집에 있기에 그걸 이용할 거다
그래도 라즈베리파이에 비하면 기상청 슈퍼컴퓨터급 속도를
자랑한다
서버는 우분투 리눅스를 이용하기 때문에 우분투 기준으로 설명한다



Nginx 설치


웹 서버를 돌리려면 프로그램을 설치해야 한다
웹 서버 돌릴 때 유명한 프로그램이 있다

apache라는 프로그램이 있다
이 녀석은 유명하고 대부분 리눅스에 설치가 되어있는 상태도 있다 그만큼 유명하다는 거다

하지만 이에 맞서는 라이벌 "Nginx"가 있다

둘의
차이점이라면 뭐


성능.. 이.. 아닐까..?



아님 뭐 말고..


그냥 두 개 중 본인이 편한 거 쓰면 되는 거임..

하튼 난 Nginx를 사용한다

우선 우분투에 Nginx를 설치한다


sudo apt-get install nginx

설치가 끝나면 초기 설정 같은 걸 한다


하지만 그냥 이 상태로 Nginx를 시작하면 돌아가긴 한다
우린 더 추가적인걸 할 예정이다


HTTPS



https를 적용 안 하고 그냥 돌리면 아마 사이트 접속 시 안전하지 않다는 경고문이 뜰 것이다 그 이유는 보안을 사이트에 적용시키지 않았기 때문이다

https는 http의 문제를 보안한 걸로 인식하면 편하다

보안 적용하기 위해서는 서버에 ssl을 만들고 그걸 nginx에 적용시켜 리다이렉트를 하는 거다

인터넷 사이트는 제일 기초적인 포트번호인 80번을 쓴다
이건 지구상 인터넷 약속 프로토콜이다
각 프로토콜마다 하는 역할이 있다

22번은 ssh
80번은 웹서버 등

각 서버컴퓨터가 동작하는 서비스에 따라 프로토콜도 다르다
주소창에 naver.com이나 naver.com:80이나 사실상 같은 거다
80번은 웹서버라는 사전에 약속되어 있어 80은
생략해도 약속된 80번은 인터넷브라우저가 알아서 붙여주는 거다

https의 동작 순서는 이렇다

1. 우리가 웹주소에 http://naver.com을 치면  우선 인터넷브라우저는 80 포트라는 걸 알고 http://naver.com:80으로 넘겨준다
2. 해당 http://naver.com:80의 주소를 가진 서버는 내가 요청한 http신호를 받는다
3. http://naver.com:80 주소를 가진 서버 안에 설치된 Nginx가 내 http신호를 받고 안전하게 웹검색을 하라고 보안된 https의 신호를 다시 되돌려준다
4. http://naver.com:80의 주소를 쳤지만 Nginx가 보안 https를 되돌려주었기 때문에 https://naver.com:80 이 되며, https의 포트번호인 443번이 된다

이렇게 돌아간다고 대충 머리에 억지로 욱여넣으면 된다
이해 못 해도 좋다



이해 못 하면 웹서버를 설치는 포기해라 ^_^

이제 nginx를 설치했으면 바로 ssl를 통하여 Nginx에 적용시켜 보자

 

nginx에 SSL(HTTPS) 적용하기

전 포스팅에서 도메인을 nginx에 연동해보았습니다. 이번 포스팅에서는 도메인에 ssl/https를 적용해보려고 합니다. Certbot은 Let’s Encrypt 인증서를 자동으로 발급 및 갱신을 해주는 봇 프로그램입니

velog.io

(내가 쓰기 귀찮은 거 맞고 이 블로그가 정리 깔끔하게 되어서 한번 구경하라고 링크 걸어놓은 거임)

 

사실 이러면 nginx는 끝난 거다
제일 기쁜 건 날로 먹기 성공이다


나머지는 포트포워딩 및 방화벽 풀기다
포트포워딩은 나도 적어주고 싶지만 본인들의 공유기까지 궁금하지 않기 때문에 공유기 모델명+포트포워딩 검색해서 찾아보면 된다
포트포워딩 할 땐 80번과 443번 두 개 해줘야 한다

방화벽은 우분투에 ufw명령어로 풀어주면 된다


sudo ufw allow 80
sudo ufw allow 443

방화벽을 풀어줘야 80번 포트 및 443번 포트로 통해 내 서버로 들어오는 신호를 받는다

사이트 파일 업로드 할 땐 /var/www/html안에 있는 파일들만 먹힌다 그 외엔 해당 경로 벗어나는 것이기 때문에 안된다

이제 Nginx를 실행하면 된다



sudo service nginx start #Nginx시작
sudo service nginx restart #Ngin재시작
sudo service nginx stop #Nginx종료


이러면 끗

이러면
https://veno.kr

 

이렇게 내 사이트처럼 깔끔하고 아리따운 모습이 나온다







블로그 늦은 이유


블로그 적는 주기가 적고 오랫동안 글이 없던 이유는














군대다.












이번 글에서 궁금한 거나 모르는 거, 잘못된 내용은 내 카카오톡으로 연락해 주면 좋겠다
물론 내 카카오톡 정보는 안 알려줄 것이다
알아서 파헤쳐 보시길

우리집 앞을 지나가던 게 그냥 자랑하고 싶었음

 

'' 카테고리의 다른 글

웹 - 웹 시작하기에 앞서  (0) 2023.03.03
내가 웹을 시작한 이유  (0) 2021.11.01