본문으로 건너뛰기
  1. Tags/

Nginx

Nginx 로그 관련 메모
Nginx
로그를 관리하는 logrotate # 로그를 얼마나 남길지, 어떻게 파일을 분리할지, 압축할지를 설정 가능한 것 같다.
Nginx의 server_name, default_server (IP주소로 접속하는 것 막기, 포트 하나로 여러 개의 사이트 띄우기)
Nginx 서버
server_name의 역할 # nginx는 같은 포트를 listen하는 여러 개의 사이트를 있게 할 수 있는데, 여기서 server_name은 하나의 포트를 listen 하고 있는 여러 개의 사이트가 있을 때 어느 쪽을 사용할지 결정해주는 역할을 한다. 만약 server_name에 일치하는 것이 없다면 default_server가 있는 것이 우선적으로 사용되고 default_server 붙은 것이 없다면 먼저 선언한 것이 우선한다.
Nginx Stream 프록시
Nginx 서버
nginx는 http이외의 TCP나 UDP 프록시도 지원하는데 그러려면 http블록 밖의 stream 블록에서 선언해야 한다.
서버 프로그램과 PHP의 통신
PHP Nginx
서버 프로그램이 PHP를 사용하려면 fastcgi를 쓰는것 같은데 그건 제껴두고 리눅스 시스템에서 php가 서버와 통신하는데 두가지 방식이 있는 것 같은데 하나는 유닉스 소켓을 이용 TCP/IP를 이용한다.
CORS 문제로 작동하지 않은 hugo 검색 기능
서버 사이트 관리 Hugo Nginx
문제 상황 # 갑자기 이 사이트의 검색 기능이 작동하지 않는 것을 발견했는데 이상하게 다른 컴퓨터에서 열어봤을 때는 검색 기능이 작동했다. 대충 검색하다 개발자 도구를 열어봤더니 CORS 정책 때문에 index.json을 열 수 없다는 내용이였다. 자세히보니 검색할 때 page.hw5e.cc/index.json을 가져오는데 https://www.page.hw5e.cc 에서 https://page.hw5e.cc에 있는 index.json을 가져올 수 없어서 검색이 되지 않았던 것이다. 다시 확인해 보니 page.hw5e.cc에서는 검색이 되고 www.page.hw5e.cc로 접속하면 검색이 안되는 것을 확인했다.
Nginx 소스로 부터 빌드하기
Linux Nginx 서버 가이드
보통 패키지 관리자를 통해 설치하겠지만 경우에 따라서 nginx를 직접 빌드 해야할 때가 있다.