SeSac (2021-08 ~ 2021-12)/Linux

6강- Nginx 셋팅 및 무료 HTTPS 인증서 설치

배워도끝이없네 2021. 8. 10. 16:27

yum repolist : 설치된 repository의 총 수를 알 수 있다.

yum install epel-release -y : extra pakage 를 설치하는것( 기본적으로 많이 쓰는 패키지들을 모아두었다)

 

cat nginx.conf 명령어를 이용해 nginx의 설정파일 내용을 보면

 

이러한 정보를 확인할 수 있다.

 

user nginx : (로그인하기위한 유저가 아닌 프로세스를 시동시키기 위한 유저명)

worker_processes : cpu가 1장짜리면 1이라고 써있다 (auto는 자동으로 잡아줌)

error_log : 끝에 notice라고 붙은걸 warning으로 바꾸면 로그레벨을 warning으로 바꾸는것이다.

pid : 실행되고있는 프로세스 아이디가 쓰여있는 경로 (좀비프로세스가되면 프로세스킬로 죽일 수 있다.)

worker_connections : 동시접속할 수 있는 최대 수 (그다음부터는 큐에 줄을 서게 된다.)

include : mime type을 정의해놓은 문서이다.

remote_addr : 접속한 고객의 ip가 적혀있다.

access_log : 자신이 어디에 접근했는지 로그가 남는곳.

tail -f /var/log/nginx/access.log : 로그를 계속 감시하는것이다 (변할때마다 갱신해서 보여줌) 

GET <접속된 경로> HTTP버전 <status (304는 변경없음, 301 리다이렉트)> 등등을 나타내준다..

#gzip on;  html이 양이 엄청 크기 때문에 네트워크비용/패킷비용이 많이 나가게 된다. 그래서 압축해서 내리고 올리고해서 이부분을 완충시킬 수 있다.

 

conf를 지정하고 디렉토리를 만드는데(nginx에서)

/var/www/<폴더명> 이렇게 지정하면

www하위는 html을 넣는곳이라는 통념이 있음.

 

configuration 수정은 무조건 재시작을 해야 반영이 된다.

config설정을 바꾸고 재시작할때는 systemctl restart를 쓰면 안되고 relaod를 써야한다 

-> restart를 쓰면 프로세스를 죽이고 다시실행해서 그동안 사용자들이 보낸 요청이 큐에 쌓여 병목을 일으킬 수 있음.

 

 

개발순서

 

로컬PC에 개발환경을 맞추고 서버의 도커이미지를 떠 run 시켜 개발한다.

 

개발이 완료되면 스테이징서버에 소스를 올리고 돌린다. (모든직원이 테스트 가능한 서버)

 

스테이징서버에서 이상이 없으면 서비스서버로 올린다(런칭)