2004년 러시아의 프로그래머 이고르 시쇼브가 발표한 오픈소스 웹서버 프로그램
nginx의 목표는 가벼우면서 강력한 프로그램이라고 한다. HTTP와 리버스 프록시, i/map/pop3등의 서버구동이 가능.
점유율 면에서는 아파치에게 밀리지만 신규서비스를 중심으로 점유율상승에 가속이 붙는중!
다음 코드를 순차적으로 실행시킨다.
$ sudo apt-get update
$ sudo apt-get install nginx
$ sudo nginx -v
$ sudo wget https://nginx.org/keys/nginx_signing.key
기본 형태:
nginx -s 명령어
stop
: 빠른 종료quit
: 정상종료reload
: 구성파일 다시 로드reopen
: 로그파일 다시열기reload 명령어는 conf 파일같은 설정파일을 변경한 후 적용을 시킬때 사용하면 됨.
그리고 만약 실행되고 있는 nginx프로세스 목록을 얻고싶으면 $ ps -ax | grep nginx
명령어를 입력하면 된다.
nginx의 환경설정은 nginx.conf 파일에 값을 지정하여 설정한다.
이 파일은 논리적으로 작성되어 있는 지시어(Directives) 목록이라고 할 수 있다.
애플리케이션 전체가 지시어에 부여하는 값에 의해서 작동한다.
우선, nginx.conf파일을 찾기위해서 다음 명령어를 입력한다.
sudo find / -name nginx.conf
nano 에디터로 파일을 열면!
많은 내용이 있다.
각각의 블록에는 맡은 역할이 다르다
events { ... }
events 블록은 네트워크의 작동 환경을 설정하는 지시어를 제공한다.
worker_connections
하나의 프로세스가 처리할 수 있는 연결(connections)의 수로, 최대 연결 수는 worker_processes X worker_connections 로 계산한다.
http { ... }
http블록은 웹서버에 대한 동작을 설정한다. HTTP부분과 관련된 모듈의 지시어와 값을 정의, 이후에 나올 server와 location의 루트 블록이다.
하나의 http블록 안에서는 여러개의 server블록을 선언할 수 있다.
nginx를 설치 완료 했다면 nginx를 실행 시킨다.
localhost
를 브라우저에 검색한다.
그러면 이런 화면이 뜰 것 이다.
이 화면이 떴다면 nginx가 정상적으로 실행되고 있다는 것이다.
그러면 여기서 궁금한 것이 하나 생긴다.
저 화면은 어디서 가져온거지?
바로,
이것이다.
이것은 우분투 기준
/etc/nginx/sites-available
폴더에 default 라는 파일이다.
위에 listen 80 default_server;
라고 되어 있는 부분이 80번 포트에서 실행중 이라는 뜻이고
주석 밑부분에 있는
root /var/www/html
은 해당 위치에 있는 html파일을 root로 설정을 해 놓은 것이다.
다음의 html파일을 생성한다. 위치는 상관없다.
<!DOCTYPE html>
<html>
<head>
<title>My Awesome Web</title>
</head>
<body>
<h1>Hello World</h1>
<p>This is for Codestates DevOps Bootcamp!</p>
</body>
</html>
그리고 아까 우리가 봤던 nginx.conf 에서 server블록을 다음과 같이 작성한다.
pwd
사용해서 알아보자)여기서 중요한 점은 설정 파일을 수정하는 것이기 때문에 관리자 권한이 필요하다.
sudo nano nginx.conf
: conf파일 수정sudo nginx -s reload
: nginx 서버 재가동그러면 html파일이 잘 업로드 된걸 볼 수 있다.