네트워크, 서버/Server

프로젝트2. Nginx 설치 후, local host에 접속하기

스닥 2020. 8. 25. 20:15

첫장에서 계획한 우리의 Web Server 구축 순서이다.

여기서 우리는 두번째 과제를 진행해볼 것이다.
1. Docker이미지로 debian 환경 만들고 접속해보기

2. nginx 설치하고 로컬호스트에서 접속해보기(docker port 설정)

3. SSL인증서 생성 후 nginx conf 설정

4. Nginx에 php실행시켜 띄워보기

5. mysql실행해보기(db를 하나 만들어보기)

6. phpmyadmin 접속할수 있게 설정해보기(설치 및 conf 설정)

7. wordpress 접속할수 있게 설정해보기(설치 및 conf 설정)

8. wordpress에 db적용시켜보기

9. 지금까지 해온걸 dockerfile로 자동화 시키기

 

 

먼저, nginx란 무엇일까?

 


 

0. Nginx란?

 

Nginx는 차세대 웹서버로 불린다. 웹서버란 무엇일까? 

웹 서버는 다른말로 HTTP Server라고 부른다. 클라이언트의 웹 브라우저를 상대하여 서버 쪽에서 정보를 제공하는 소프트웨어를 의미한다.

Nginx의 특징을 한 마디로 정의하면 "더 적은 자원으로 더 빠르게 데이터를 서비스 할 수 있다."이다.

기존에는 Apache라는 웹 서버를 많이 사용하였지만, 사용자가 많으면 메모리 및 cpu 낭비가 심한 특징을 가지고 있는 Apache에 반해,

더 작은 쓰레드로 다수의 연결을 효과적으로 처리 가능하고 더욱 빠르게 동작하는 nginx가 현재는 더욱 많이 쓰이고 있다.

 

다음은 Apache의 스레드 기반의 요청 처리 방식과, nginx의 Event-driven 요청 처리 방식을 시각화한 자료이다.

Apache의 스레드 기반 프로그래밍은 클라이언트의 요청 하나당 한개의 스레드를 잡아먹게 되지만, Event-driven 방식은 여러개의 요청을 비동기 방식으로 처리해, 먼저 처리되는 것부터 로직이 진행되게끔 한다.

참고 https://m.blog.naver.com/jhc9639/220967352282

 

우리는 nginx 소프트웨어를 사용하여, 우리의 웹 서버를 구축할 것이다.

 


 

1. Nginx 설치하기

 

저번 장에 이어서 진행해보자. 일단 우리는 우리의 debian:buster 컨테이너에 접속하여 있어야 한다.

Nginx를 설치 하기 전, 우리는 우리의 환경을 최신화 시켜줄 것이다.

다음의 코드를 입력해보자.

apt-get update
apt-get -y upgrade // -y는 작업 수행 여부에 대한 질문에 미리 yes로 답하는 옵션이다.

 

 

우리의 환경 패키지가 최신화 되었다면, Nginx를 설치해보자.

apt-get -y install nginx

자동으로 nginx가 설치 완료 될 것이다.

 


 

2. Nginx 웹 서버 시작하기

 

Nginx 웹 서버 설치가 완료되었다면, 실행하고 올바르게 작동하는지 확인해보자.

 

다음의 두 코드를 실행하여 보자.

service nginx start
service nginx status

 

이렇게 표시된다면, 우리의 nginx 웹 서버는 올바르게 작동하고 있는 것이다.

 


3. Nginx 웹 서버 상태 확인하기

 

브라우저 주소창에 localhost, 혹은 127.0.0.1을 입력해보자.

우리는 localhost 페이지에 이렇게 두가지 방법으로 접근할 수 있다.

 

이 창이 보인다면, nginx 웹 서버가 정상적으로 작동하고 있는 것이다.

 

하지만 현재 우리는 오직 localhost:80 즉, http://localhost만 볼 수 있는 상태이다.

nginx 환경설정을 하면 443에도 들어갈 수 는 있지만, https는 사용할 수 없을 것이다.

즉 인증서를 이용한 보안 연결은 사용할 수 없는 상태이다.

다음 장에서는 ssl설정을 통해 https로 접속을 해보자.