CentOS 7에 Nginx를 설치하는 방법
소개
Nginx는 널리 사용되는 고성능 웹 서버입니다. 이 튜토리얼은 CentOS 7 서버에서 Nginx를 설치하고 시작하는 방법을 알려줍니다.
전제 조건
이 자습서의 단계에는 sudo
권한이 있는 루트가 아닌 사용자가 필요합니다. 이 사용자를 설정하는 방법은 CentOS 7 자습서로 초기 서버 설정을 참조하십시오.
1단계 - EPEL 소프트웨어 리포지토리 추가
CentOS 7 EPEL 리포지토리를 추가하려면 먼저 SSH를 통해 CentOS 7 시스템에 연결한 다음 yum
명령을 사용하여 확장 패키지 리포지토리를 설치합니다.
- sudo yum install epel-release
소프트웨어를 설치할 것인지 확인하라는 메시지가 표시됩니다. 계속하려면 y
를 입력한 다음 ENTER
를 입력하십시오.
다음으로 실제 nginx
소프트웨어 패키지를 설치합니다.
2단계 - Nginx 설치
이제 EPEL 리포지토리가 서버에 설치되었으므로 다음 yum
명령을 사용하여 Nginx를 설치합니다.
- sudo yum install nginx
다시 확인 프롬프트에 예라고 대답하면 Nginx가 설치를 완료합니다.
3단계 - Nginx 시작하기
Nginx는 설치 후 자동으로 시작되지 않습니다. Nginx를 실행하려면 systemctl
명령을 사용하세요.
- sudo systemctl start nginx
systemctl status
로 서비스 상태를 확인할 수 있습니다.
- sudo systemctl status nginx
Output● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-01-24 20:14:24 UTC; 5s ago
Process: 1898 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1896 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1895 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1900 (nginx)
CGroup: /system.slice/nginx.service
├─1900 nginx: master process /usr/sbin/nginx
└─1901 nginx: worker process
Jan 24 20:14:24 centos-updates systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 24 20:14:24 centos-updates nginx[1896]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 24 20:14:24 centos-updates nginx[1896]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 24 20:14:24 centos-updates systemd[1]: Started The nginx HTTP and reverse proxy server.
서비스는 활성
이어야 합니다.
방화벽을 실행 중인 경우 다음 명령을 실행하여 HTTP 및 HTTPS 트래픽을 허용하십시오.
- sudo firewall-cmd --permanent --zone=public --add-service=http
- sudo firewall-cmd --permanent --zone=public --add-service=https
- sudo firewall-cmd --reload
웹 브라우저에서 서버의 공용 IP 주소를 방문하여 모든 것이 계획대로 진행되었는지 확인하기 위해 즉시 무작위 검사를 수행할 수 있습니다.
http://server_domain_name_or_IP/
정보 제공 및 테스트 목적으로 제공되는 기본 CentOS 7 Nginx 웹 페이지가 표시됩니다. 다음과 같아야 합니다.
이 페이지가 보이면 웹 서버가 올바르게 설치된 것입니다.
참고: 서버의 공용 IP 주소를 찾으려면 다음을 입력하여 시스템에서 네트워크 인터페이스를 찾으십시오.
- ip addr
Output1. lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
. . .
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
. . .
서버에서 사용 가능한 하드웨어에 따라 여기에서 여러 인터페이스를 볼 수 있습니다. lo
인터페이스는 우리가 원하는 것이 아닌 로컬 루프백 인터페이스입니다. 위의 예에서 eth0
인터페이스는 우리가 원하는 것입니다.
인터페이스 이름이 있으면 다음 명령을 실행하여 서버의 공용 IP 주소를 표시할 수 있습니다. 위에서 찾은 인터페이스 이름을 대체하십시오.
- ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
계속하기 전에 시스템이 부팅될 때 Nginx가 시작되도록 할 수 있습니다. 이렇게 하려면 다음 명령을 입력합니다.
- sudo systemctl enable nginx
이제 Nginx가 설치되어 실행됩니다.
4단계 - Nginx 탐색 및 구성
Nginx를 통해 자신의 페이지나 애플리케이션 서비스를 시작하려면 Nginx 구성 파일과 기본 서버 루트 디렉터리의 위치를 알고 싶을 것입니다.
기본 서버 루트
기본 서버 루트 디렉토리는 /usr/share/nginx/html
입니다. 거기에 배치된 파일은 웹 서버에서 제공됩니다. 이 위치는 /etc/nginx/conf.d/default.conf
에 있는 Nginx와 함께 제공되는 기본 서버 블록 구성 파일에 지정됩니다.
서버 블록 구성
Apache의 가상 호스트로 알려진 추가 서버 블록은 /etc/nginx/conf.d
에 새 구성 파일을 생성하여 추가할 수 있습니다. 해당 디렉터리에서 .conf
로 끝나는 파일은 Nginx가 시작될 때 로드됩니다.
Nginx 글로벌 구성
기본 Nginx 구성 파일은 /etc/nginx/nginx.conf
에 있습니다. 여기에서 Nginx 데몬 프로세스를 실행하는 사용자, Nginx가 실행 중일 때 생성되는 작업자 프로세스 수와 같은 설정을 변경할 수 있습니다.
결론
CentOS 7 서버에 Nginx를 설치했으면 계속해서 CentOS 7에 전체 LEMP 스택을 설치할 수 있습니다.