반응형
CentOS 7에서 NGINX의 최신 버전(안정 버전)을 설치하는 방법
nginx : High performance web server
RHEL and derivatives : http://nginx.org/en/linux_packages.html#RHEL-CentOS
테스트 환경
- 운영체제 버전 정보
$ cat /etc/os-release | grep PRETTY_NAME | cut -d '"' -f 2
CentOS Linux 7 (Core)
NGINX 설치
EPEL 저장소 및 YUM Utilities 패키지 설치
yum install -y epel-release yum-utils
nginx.repo 파일 생성
sudo tee /etc/yum.repos.d/nginx.repo << EOF
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=https://nginx.org/packages/mainline/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
더보기
---
nginx.repo 파일 확인
cat /etc/yum.repos.d/nginx.repo
$ cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=https://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
---
NGINX(stable) 저장소 활성화
sudo yum-config-manager --enable nginx-stable
활성화된 레포지토리 목록 확인
sudo yum repolist enabled
$ sudo yum repolist enabled
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.navercorp.com
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirror.navercorp.com
* updates: mirror.navercorp.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,072
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,789
extras/7/x86_64 CentOS-7 - Extras 518
nginx-stable/7/x86_64 nginx stable repo 320
updates/7/x86_64 CentOS-7 - Updates 5,367
repolist: 30,066
설치 전 NGINX 버전 정보 확인
yum info nginx
$ yum info nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.kakao.com
* epel: nrt.edge.kernel.org
* extras: mirror.kakao.com
* updates: mirror.kakao.com
Available Packages
Name : nginx
Arch : x86_64
Epoch : 1
Version : 1.21.1
Release : 1.el7.ngx
Size : 790 k
Repo : nginx-mainline/7/x86_64
Summary : High performance web server
URL : https://nginx.org/
License : 2-clause BSD-like license
Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
: a mail proxy server.
728x90
NGINX 패키지 설치
sudo yum install -y nginx
설치된 NGINX 버전 정보 확인
nginx -v
$ nginx -v
nginx version: nginx/1.21.4
NGINX 서비스 시작 및 활성화
sudo systemctl --now enable nginx
NGINX 서비스 상태 확인
sudo systemctl status nginx
- NGINX 버전 정보 숨기기
- nginx.conf 편집
vim /etc/nginx/nginx.conf
- server_tokens off 추가
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
server_tokens off;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
- NGINX 상태 확인하는 페이지 활성화
- default.conf 편집
더보기
---
cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
---
sudo vim /etc/nginx/conf.d/default.conf
nginx_status 블록 추가
location /nginx_status {
# Nginx status 페이지 설정
stub_status;
access_log off;
allow 127.0.0.1;
allow 192.168.56.0/24;
deny all;
}
NGINX 구문 검사
nginx -t
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
NGINX 서비스 재시작
sudo systemctl restart nginx
NGINX 상태 페이지 확인
curl localhost/nginx_status
$ curl localhost/nginx_status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
필드의 의미 설명
- Active connections (활성 연결수): 현재 서버에 활성화된 클라이언트 연결 수를 나타냅니다. 이 숫자는 현재 처리 중인 클라이언트 연결 수를 나타냅니다.
- server accepts handled requests (서버의 연결 수, 처리 수, 요청 수): 다음 세 가지 정보를 포함합니다:
- server accepts (서버가 수락한 연결 수): 웹 서버가 클라이언트의 연결을 수락한 총 횟수를 나타냅니다.
- server handled (서버가 처리한 연결 수): 웹 서버가 성공적으로 처리한 총 연결 수를 나타냅니다.
- requests (요청 수): 서버가 받고 처리한 총 요청 수를 나타냅니다.
- Reading, Writing, Waiting (읽기, 쓰기, 대기): 다음과 같은 세 가지 정보를 나타냅니다:
- Reading (읽기): 현재 클라이언트 요청을 읽는 중인 연결 수를 나타냅니다.
- Writing (쓰기): 현재 클라이언트에 응답을 보내는 중인 연결 수를 나타냅니다.
- Waiting (대기): 클라이언트 요청을 처리 중이지 않고 대기 중인 연결 수를 나타냅니다. 이는 서버의 처리량에 따라 증가할 수 있습니다.
CentOS 7에 최신 버전의 NGINX가 설치되었습니다. 웹 서버를 구성하고 필요에 따라 사이트 설정을 추가하여 사용할 수 있습니다.
728x90
반응형
'리눅스' 카테고리의 다른 글
CentOS 7에서 PHP-FPM 7.4를 설치하는 방법 (0) | 2021.08.18 |
---|---|
CentOS 7에서 최신 버전의 Redis를 설치하는 방법 (0) | 2021.08.18 |
Zabbix-cloudwatch-integration 적용 (0) | 2021.08.17 |
File Browser를 Docker 컨테이너로 올리고 사용하는 방법(File Browser 설치) (0) | 2021.08.17 |
HAProxy를 사용하여 고가용성(High Availability) 구성을 구현하는 방법 (0) | 2021.08.13 |