홈 › 웹 서버 › 05 / 8

nginx 설치

섹션 7진행 0 / 8

5. 자주 하는 실수 (Tip)

❌ 실수 1: 의존 RPM 을 안 챙겨온다

nginx RPM 만 반입하고 pcre2·openssl-libs 를 빠뜨리면 dnf localinstall 이 의존성 오류로 실패합니다. 처음부터 의존성 목록을 확인하고 함께 받습니다.

❌ 실수 2: --prefix 없이 기본 경로로 설치한다

옵션 없이 빌드하면 /usr/local/nginx 에 설치돼 팀 표준 경로($BASE/nginx)와 어긋납니다. 운영 문서와 스크립트가 가리키는 경로가 실제 설치 경로와 달라지면 장애 대응이 늦어집니다.

❌ 실수 3: 나중에 필요한 모듈을 빼고 빌드한다

--with-http_ssl_module 을 빼고 빌드했다가 나중에 HTTPS 가 필요해지면 처음부터 다시 빌드해야 합니다. 자주 쓰는 모듈은 처음부터 함께 켭니다.

❌ 실수 4: 검증 없이 reload 한다

nginx -t 를 건너뛰고 systemctl reload nginx 를 하면 문법 오류가 있는 설정을 워커가 못 읽어 요청이 실패할 수 있습니다. 바꾼 설정은 항상 먼저 검증합니다.

❌ 실수 5: SELinux 를 꺼서 해결한다

setenforce 0 으로 SELinux 자체를 끄면 프록시 연결 문제는 사라지지만 다른 위협도 함께 무방비가 됩니다. 필요한 불리언만 정확히 켭니다.

❌ 실수 6: root 로 워커를 돌린다

nginx.conf 의 user 지시어를 빼거나 root 로 두면 워커 프로세스가 불필요하게 높은 권한으로 동작합니다. 전용 계정으로 반드시 낮춥니다.

❌ 실수 7: systemd 없이 nohup 으로 띄운다

nohup nginx & 로 띄우면 재부팅이나 죽었을 때 자동 재시작이 되지 않습니다. Restart=on-failure 가 있는 systemd 유닛으로 관리합니다.

❌ 실수 8: 방화벽만 열고 SELinux 는 잊는다

포트는 열었는데 SELinux 불리언을 안 켜면 로컬에서는 되고 프록시 연결만 막히는 혼란스러운 상황이 됩니다. 두 가지를 함께 확인합니다.

❌ 실수 9: worker_processes 를 고정값으로 둔다

worker_processes 1 로 고정하면 CPU 코어가 여러 개여도 하나만 씁니다. 특별한 이유가 없으면 auto 로 코어 수에 맞춥니다.

❌ 실수 10: RPM 경로와 소스 빌드 경로를 섞어 쓴다

문서에는 /etc/nginx 를 적어두고 실제로는 소스 빌드로 $BASE/nginx 에 설치하면 다음 담당자가 설정 파일을 못 찾습니다. 설치 방식과 경로를 항상 함께 기록합니다.