nginx 설치및 설정

악음·2022년 4월 14일
0

nginx란

결국 웹서버의 한종류이다.
서버는 js html 이미지 동영상 등등을 제공한다
주로 http통신 프로토콜로 리소스를 전달한다.

nginx의 특징

비동기 event driven에 의한 non blocking처리를 한다는것이다.
또한 동시 접속수가 늘어날 수록 물리 메모리가 증가하는 프로세스 기반의 apache서버에 비해 메모리
소모량이 적어지면서 동시처리수를 급격하게 늘릴 수 있다.

더 자세한 설명은

nginx

설치법

homebrew을 설치한뒤

brew install nginx

으로 설치하기

설치된 곳은 운영체제/설치방법에따라
/etc/nginx 혹은
/usr/local/nginx/nginx.conf 에 설치되기도한다.

실행법

시작

nginx

시작확인

ps -ef | grep nginx

멈추기 (-s = 시그날보내기)

바로종료

nginx -s stop

현제 연결중인 커넥션이 모두 완료될때까지 기다린 후 종료

nginx -s quit

설정 파일 수정후 반영(리로드)

nginx -s reload

서버 재시작

sudo nginx -s stop && sudo nginx

설정파일 수정

설정 파일은 기본적으로
/etc/nginx/nginx.conf 혹은
/usr/local/nginx/nginx.conf 을 바라본다.
-c 설정 파일을 직접 지정 할 수 있도록한다
-t 설정한 파일이 문법적으로 올바른지 확인
(nginx -t 을 입력하면 설치된 경로가 나온다)

mynginx.conf
============
http {
  server {
    location / {
      root /data/www;
    }
  }
}
 nginx -t -c /etc/nginx/mynginx.conf

여러 서버의 설정파일 등록

nginx를 사용하는 방법중에 하나이다
나는 하나의 서버에서 여러 개의 사이트를 띄우는 방법이 있다.
이걸 가상 호스트(Virtual Hosts) 기능이라고 하는데
다음과같이 설정하면된다.

  1. 연결하려는 후보들은 nginx.conf가 있는 폴더에 sites-available폴더와 sites-enabled폴더를 만들어준다.
  2. sites-available 새로운설정.conf을 만들어준다.
sudo ln -s nginx폴더/sites-available/새로만든.conf  nginx폴더/sites-enabled/새로만든.conf

위에 명령으로 링크를 걸어준다.
그런다음 재시작해야한다.

나의 경우엔 이렇게 버츄얼 호스트를 했다

ginx.conf에서 버츄얼서버를 등록시키지 못하고있었다 왜이러는지 모르겠다
때문에 수동으로 enabled를 include시켜주었는데 nginx -t 로 문법체크실행시 error발생

  1. nginx 설치
  2. nginx -t 으로 설치경로로 간뒤에
  3. sites-available/kuke.conf 작성 => 심볼링크로 sites-enabled로 연결
  4. nginx 실행 => 버츄얼 호스트 안뜸 ㅋㅋ
  5. 때문에 nginx.conf에 수동으로 enabled를 include시킴 => nginx -t 에러
  6. nginx.conf에 수동으로 available를 include시킴 => 잘됨 ㅋㅋㅋㅋ
  7. 코드는 다음과같다.
http {
	...
	# virtual host configs
    include /usr/local/etc/nginx/sites-available/*;
    include /usr/local/etc/nginx/conf.d/*.conf;
    ...
}
profile
RN/react.js개발자이며 배운것들을 제가 보기위해서 정리하기 때문에 비속어 오타가 있을수있습니다.

0개의 댓글