728x90
NGINX Download URL
https://nginx.org/en/download.html 에서 파일을 우클릭해서 주소를 복사합니다.
NGINX 설치
리눅스 환경에서 Root 로 로그인 하여 파일을 다운로드 받습니다.
컴파일까지 완료되면 /appstore/webserver/test_nginx 파일이 생성될 것입니다.
# nginx설치할 경로에 디렉토리 생성
$ mkdir -p /appstore/webserver/util
$ cd /appstore/webserver/util
# nginx 다운로드 및 압축 해제
$ wget https://nginx.org/download/nginx-1.25.3.tar.gz
$ tar zxvf nginx-1.25.3.tar.gz
$ cd /appstore/webserver/util/nginx-1.25.3
# nginx 서비스 계정 생성
$ useradd nginx
# nginx 컴파일 전 필수 사용 패키지 다운로드
$ yum -y install gcc gcc-c++ pcre pcre-devel openssl-devel zlib-devel
# nginx 컴파일
$ ./configure --prefix=/appstore/webserver/test_nginx --user=nginx --group=nginx --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module
$ make install
NGINX 설정
$ vi /appstore/webserver/test_nginx/conf/nginx.conf
user nginx; ## NGINX 프로세스가 실행되는 권한, root 권한은 보안상 위험함
worker_processes 2; ## Default: 1, CPU 코어 하나에 최소한 한 개의 프로세스가 배정되도록 변경 권장
worker_priority 0; ## 값이 작을 수록 높은 우선순위를 갖는다. 커널 프로세스의 기본 우선순위인 -5 이하로는 설정하지 않도록 한다.
# 로그레벨 [ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log error; ## 로그레벨을 warn -> error로 변경함
pid /var/run/nginx.pid;
events {
worker_connections 1024; ## Default: 1024, 현 서버는 RAM 8GB라 상향조정
multi_accept off; ## Default: off
}
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;
#sendfile on;
#tcp_nopush on;
server_tokens off; ## 헤더에 NGINX 버전을 숨김 (보안상 설정 권장)
keepalive_timeout 65; ## 접속 시 커넥션 유지 시간
#gzip on;
## 자신이 등록할 서버들에 대해서 별도로 관리하는 경로를 작성해주면된다.
## yum 설치 예시: include /etc/nginx/conf.d/*.conf;
include /appstore/webserver/test_nginx/conf/site-available/*.conf;
}
여기서 site-available을 생성해서 별도로 conf파일을 생성하는 건 관리목적이 큽니다.
이렇게 분리해서 파일을 관리하면 추후에 특정 서비스만 설정 파일을 수정하니 오타나 휴먼에러로인한 문제를 감소시키기 때문입니다.
이 파일은 어떤 식으로 작성되는지 A_servcie.conf 한개만 확인해보겠습니다.
vi /appstore/webserver/test_nginx/conf/site-available/A_service.conf
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
NGINX 구동
$ cd /appstore/webserver/nginx_test/sbin/
$ ./nginx
728x90
'Linux' 카테고리의 다른 글
[Network] 자주 사용하는 주요 포트 및 프로토콜 (1) | 2024.09.10 |
---|---|
[Infra] HTTPS, SSL 도메인 인증서 교체 방법 및 주의 사항 (2) | 2024.09.03 |
[WEB] X-Forwarded 헤더는 무엇일까? (0) | 2024.08.07 |
[Tomcat] Tomcat, web.xml 적용이 안되는 이유 (0) | 2024.07.18 |
[Nginx] Nginx에서 upstream을 이용해 부하 분산 하기 (0) | 2024.07.17 |