다운로드 및 설치
공홈 http://nginx.org/에서 가급적이면 Stable 버전 받아서 압축 풀기
서비스 등록
- 매번 커맨드창 열어서 실행하기 귀찮아서 서비스에 등록해버리기
- https://nssm.cc/에서 zip파일을 받아서 열어 압축 해제
- 서비스에서 계속 필요한 프로그램이니 서비스 등록했다고 지우면 안됨
- 본인은 C:/nssm/ 폴더 생성하여 wind64 폴더의 exe를 복사해 넣음
- 서비스 등록 명령 실행 (코드 1)
- NSSM service installer GUI 나타남 (그림 1)
- Path를 압축 해제한 ngnix.exe를 선택하면,
- Startup directory도 자동으로 선택됨. 필요에 의해 변경 가능.
- 필요한 Arguments가 있으면 추가
- 다른 탭에 있는 부분이 필요하면 설정 변경 (본인은 건드리지 않음)
- Install service 버튼을 클릭
- 그림 2와 같이 서비스 등록 완료
C:\nssm>nssm install testNginx
[ 코드 1 ]
Reverse proxy 설정
nginx.conf
http {
upstream default_gateway {
server 127.0.0.1:8080;
}
upstream test_gateway {
server 127.0.0.1:7777;
}
upstream openapi_gateway {
server 127.0.0.1:7778;
}
upstream default_stream {
server 127.0.0.1:7780;
server 127.0.0.1:7781;
}
include proxy*.conf;
}
proxy80.conf (http 서버 설정)
server {
server_name router.io;
listen 80;
listen [::]:80;
access_log logs/router.access.log;
charset utf-8;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://default_gateway;
}
location /test/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://test_gateway;
}
location /openapi/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://openapi_gateway;
}
}
proxy443.conf (https 서버 설정)
server {
server_name test.nginx.io;
listen 80;
listen [::]:80;
return 301 https://test.nginx.io$request_uri;
}
server {
server_name test.nginx.io;
listen 443 ssl;
listen [::]:443 ssl;
# 도메인 인증서 설정
ssl_certificate /nginx/cert/wildcard.nginx.io/tls.crt;
ssl_certificate_key /nginx/cert/wildcard.nginx.io/tls.key;
access_log logs/test.nginx.io.access.log;
charset utf-8;
proxy_pass_header Server;
root /workspace/nginx/html;
# proxying frontend
location /console {
alias /workspace/nginx/html;
}
# proxying backend
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://openapi_gateway;
}
# proxying websocket/sse
location /stream {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 30m;
proxy_buffering off;
proxy_cache off;
proxy_pass http://default_stream;
}
# proxying default
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://default_gateway;
}
}
'윈도우즈 개발 환경' 카테고리의 다른 글
Kafka (0) | 2023.03.22 |
---|---|
Redis (0) | 2023.03.22 |
Eclipse (0) | 2023.03.22 |