반응형
Nginx
Nginx는 "동시접속 처리에 특화된 웹 서버 프로그램으로 Apache보다 동작이 단순하고, 전달자 역할만 하기 때문에 동시접속 처리에 특화되어 있다.
우분투 설치
sudo apt-get update
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
## Nginx pakage 저장소 서명키를 다운로드 하고 저장
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
# lsb_release 명령을 통해 운영체제와 배포판 이름을 정의하는 변수를 선언 후 apt 소스파일을 생성
OS=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
RELEASE=$(lsb_release -cs)
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/${os} ${RELEASE} nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt-get install -y nginx
MAC 설치
brew install nginx
주요 설정파일 디렉터리
- /etc/nginx/
- 엔진엑스 서버가 사용하는 기본 설정이 저장된 루트 디렉터리로 이곳에 저장된 설정파일의 내용에 따라 동작.
(mac os는 /usr/local/etc/nginx/ 에 위치)
- /etc/nginx/nginx.conf
- 기본 설정파일로 모든 설정에 대한 진입점이며 최상위 http 블록을 가지고 있다. 또한 worker process count. tuning, 동적 모듈 적재와 같은 Golobal 설정항목 및 엔진엑스의 세부설정 파일에 대한 참조를 지정한다.
- /etc/nginx/conf.d/
- HTTP 서버의 기본 설정파일로 nginx.conf 파일이 가진 최상위 http 블록에 포함
- /var/log/nginx/
- 엔진엑스의 로그가 저장되는 디렉터리 access.log, error.log가 있다.(mac os는 /usr/local/var/log/nginx)
엔진엑스 명령어
- nginx -h
- nginx 도움말
- nginx -v
- 엔진엑스 버전 정보
- nginx -V
- 엔진엑스의 버전 정보 및 빌드 정보, 바이너리에 포함된 모든 설정 정보 값
- nginx -t
- 엔진엑스 설정을 시험
- nginx -T
- 엔진엑스 설정을 시험하고 결과를 화면에 보여줌
- nginx -s stop
- nginx 서비스 종료
- ps -ef | grep nginx
- nginx 실행중인지 확인
무중댠으로 설정 리로드
- nginx -s reload
- 해당명령어를 이용하면 서버를 중지하지 않고 리로드 신호를 보내어 다시 읽어들이도록 지시한다.
정적 콘텐츠 서비스하기
해당설정은 80포트를 이용해 root의 html/경로에 저장된 정적 콘텐츠를 제공
## server블록을 선언하여 엔진엑스가 처리할 새로운 컨테스트를 정의
server {
## 80포트로 들어오는 요청을 수신하고 기본컨텍스트가 되도록 default_server 매개변수를 사용
listen 80 default_server;
## 서버 호스트명 도메인
server_name localhost;
## location블록은 URL 경로를 기반으로 하며 요청된 적합한 location 블록은 찾아낸다.
location / {
## root 지시자에 정의된 경로를 수신한 URI 값을 합쳐 요청된 파일을 찾는다.
root html;
## index 지시자는 URI에 더이상 참고할 경로 정보가 없을 때 nginx가 기본 파일 또는 파일 목록을 알려줌
index index.html index.htm;
}
}
반응형