Windows 10(64bit) 환경에 nginx 설치하기
대중적인 웹개발 환경의 대표적인 조합이라면 APM(Apache + PHP + MySQL) 조합을 빼놓을 수 없다. 고유명사화 되다시피 한 조합이지만 최근 몇 년사이 웹서버로 Apache HTTPd 대신 nginx를 조합하는 경우가 많아졌다. Apache 웹서버에 비해 설정이 간단하고 가벼워서 같은 자원으로 더욱 강력한 성능을 낼 수 있다. 구글링해보면 Apache 웹서버와 nginx 웹서버의 성능 비교 이슈에 대한 기사는 최근에도 지속적으로 다뤄지고 있다.
1. nginx 설치
nginx는 2가지 배포버전으로 개발이 진행된다. 짝수 버전 (1.14)은 안정버전으로 보수적으로 관리되며 중요한 문제 또는 보안 취약점을 수정해야하는 경우에만 업데이트된다. 홀수 버전 (1.15)은 메인 라인 브랜치이다. 좀 더 공격적인 개발이 진행되며 약 4-6 주에 한 번씩 만들어져서 정기적으로 새로운 기능과 향상된 기능을 도입한다.
nginx 환경에 익숙해지는 것이 우선이므로 안정버전인 1.14버전을 내려받아 설치하겠다.
내려받기 nginx/Windows-1.14.0
MySQL 서버와 마찬가지로 D:\Utils 폴더에 압축을 푼다.
D:\Utils\nginx-1.14.0 >
2. nginx 설정 구성하기
2.1. 정적 건텐츠 서비스
로컬 디렉터리에서 HTML 페이지와 이미지 파일들과 같은 정적 컨텐츠를 제공하기 위한 설정이다. 설정 파일(/conf/nginx.conf)의 server 블럭 안에 location 블럭을 배치하여 정적 컨텐츠를 읽어올 디렉터리를 설정한다.
worker_process 1; # CPU 코어 수에 맞춰 싱글 쓰레드로 동작. 멀티코어 CPU의 경우 1이상 설정 가능. 쓰레드당 최대 1024개의 동시 연결 처리 가능.
...
http {
server {
listen 8001; # 웹서비스 포트
server_name localhost; # %WINDIR%\system32\drivers\etc\hosts
...
location / {
root D:/devphp/hello; # HTML과 같은 정정 컨텐츠 저장 디렉터리
index index.html index.htm; # 기본 웹문서 파일
}
location /images {
root D:/assets/images; # 이미지 파일을 별도 디렉터리에 배치하는 것도 가능하다.
}
...
}
}
...
3. nginx 시작 및 관리하기
참고. nginx for Windows
명령프롬프트를 실행할 때 80번 포트와 같이 well-known port를 이용할 경우 관리자 권한으로 실행한다. 8001번 포트처럼 커스텀 포트 이용할 경우는 일반 권한으로 nginx를 실행해도 무방하다. nginx.exe를 실행 후 다른 명령프롬프트 창을 열어 명령행 옵션 -s와 함께 제어명령을 입력한다.
명령프롬프트를 실행할 때 80번 포트와 같이 well-known port를 이용할 경우 관리자 권한으로 실행한다. 8001번 포트처럼 커스텀 포트 이용할 경우는 일반 권한으로 nginx를 실행해도 무방하다. nginx.exe를 실행 후 다른 명령프롬프트 창을 열어 명령행 옵션 -s와 함께 제어명령을 입력한다.
D:\Utils\nginx-1.14.0 > nginx
D:\Utils\nginx-1.14.0 > nginx -s quit # 정상 종료 실행 (권장)
D:\Utils\nginx-1.14.0 > nginx -s stop # 긴급 종료 실행
D:\Utils\nginx-1.14.0 > nginx -s reload # 실행 중 설정 파일 변경시 종료없이 변경된 설정을 적용
D:\Utils\nginx-1.14.0 > nginx -s reopen # 로그 파일 다시 열기
D:\Utils\nginx-1.14.0 > tasklist /fi "imagename eq nignx.exe" # 실행 중인 nginx 프로세스를 표시
댓글
댓글 쓰기