안녕하세요! 오늘은 리눅스 환경에서 Nginx를 소스 컴파일로 설치하는 방법을 친근하게 안내드릴게요. 처음 도전하는 분들도 쉽게 따라할 수 있도록 상황별 문제와 해결책까지 꼼꼼하게 정리했으니, 천천히 따라와 주세요.
준비: 필수 의존성 설치
Nginx를 컴파일하려면 몇 가지 필수 패키지가 필요해요.
- gcc: 컴파일러
- pcre: URL 재작성 등 정규식 기능 지원
- zlib: 압축/해제 지원
- openssl: 보안 통신(HTTPS) 지원
아래 명령어로 한 번에 설치할 수 있어요.
yum -y install gcc gcc-c++ autoconf automake make
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel make libtool
yum -y install openssl openssl-devel
문제 상황 & 해결
- 만약
yum
이 없거나 패키지 설치 중 오류가 난다면, 네트워크 연결 상태나 저장소 설정을 먼저 확인해 주세요. apt
를 사용하는 우분투 계열이라면apt-get install
로 바꿔주시면 됩니다.
사용자 및 그룹 생성
보안상 Nginx 전용 계정으로 실행하는 것이 좋아요.
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
문제 상황 & 해결
- 이미 그룹이나 사용자가 있다면 에러가 날 수 있어요. 그럴 땐
useradd
대신usermod
로 그룹만 변경해도 됩니다.
Nginx 소스 다운로드 및 압축 해제
Nginx 공식 사이트에서 원하는 버전을 받아주세요.
wget https://nginx.org/download/nginx-1.25.0.tar.gz
tar -zxvf nginx-1.25.0.tar.gz
cd nginx-1.25.0
문제 상황 & 해결
wget
이 없다면yum install wget
으로 설치해 주세요.- 압축 해제 중 에러가 난다면 파일이 정상적으로 다운로드됐는지
ls -lh
로 확인해 보세요.
컴파일 환경 설정
설치 옵션을 지정해줍니다.
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx
옵션 | 설명 |
---|---|
--prefix | 설치 경로 지정 |
--user | 실행 사용자 지정 |
--group | 실행 그룹 지정 |
--with-http_stub_status_module | 상태 정보 모듈 활성화 |
--with-http_ssl_module | HTTPS 지원 활성화 |
문제 상황 & 해결
configure: error
메시지가 뜬다면, 의존성 패키지가 제대로 설치됐는지 다시 확인해 주세요.- 경로 권한 문제라면
sudo
를 활용하거나, 권한을 조정해 주세요.
컴파일 및 설치
이제 본격적으로 빌드합니다.
make
make install
문제 상황 & 해결
- 메모리 부족 에러가 날 경우, 서버의 메모리 상황을
free -h
로 확인해 주세요. make
중단 시, 로그를 잘 살펴보고 누락된 패키지가 없는지 확인해 주세요.
Nginx 운영 명령어
설치가 끝났다면 아래 명령어로 Nginx를 실행하고 관리할 수 있어요.
/usr/local/nginx/sbin/nginx # 시작
/usr/local/nginx/sbin/nginx -s reload # 설정 재적용
/usr/local/nginx/sbin/nginx -s stop # 강제 종료
/usr/local/nginx/sbin/nginx -s quit # 안전 종료
ps -ef | grep nginx # 프로세스 확인
curl 127.0.0.1 # 동작 테스트
문제 상황 & 해결
- 포트 충돌로 실행이 안 된다면,
netstat -tuln | grep 80
으로 사용 중인 포트를 확인하고, 설정 파일에서 포트를 변경해 주세요. - 실행 후 접속이 안 된다면, 방화벽 설정(
firewalld
,iptables
)을 확인해 주세요.
시스템 서비스로 등록하기
Nginx를 시스템 서비스로 등록하면 부팅 시 자동 실행이 가능해요.
- 서비스 파일 작성
vi /usr/lib/systemd/system/nginx.service
아래 내용을 입력해 주세요.
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 서비스 등록 및 실행
systemctl enable nginx.service
systemctl start nginx.service
systemctl status nginx.service
문제 상황 & 해결
systemctl
명령어가 없으면, 시스템이 systemd 기반인지 확인해 주세요. 만약 init 기반이라면/etc/init.d/
스크립트를 직접 만들어야 해요.- 서비스 상태가 활성화되지 않는다면, 로그(
journalctl -xe
)를 확인해 원인을 파악해 주세요.
마치며
이렇게 리눅스에서 Nginx를 소스 컴파일로 설치하는 전 과정을 살펴봤어요. 설치 중 자주 마주치는 문제와 그 해결책도 함께 정리해봤으니, 차근차근 따라 하시면 누구나 성공할 수 있습니다. 혹시 더 궁금한 점이 있다면 언제든 질문해 주세요!
'컴퓨터 > Linux' 카테고리의 다른 글
vsftpd 접속 로그 해석 (0) | 2023.08.30 |
---|---|
Redhat, Centos,Ubuntu,debian, Suse 등 모든 리눅스의 버전을 확인하는 방법 (0) | 2023.08.30 |
passwd: Authentication token manipulation error 오류 해결 6가지 방법 (0) | 2023.08.28 |
CentOS에서 하드웨어 정보를 확인하는 모든 명령어 모음 (0) | 2023.03.28 |
Centos jdk1.8 다운로드 및 설치 (0) | 2023.02.03 |