NGINX 뒤의 스토리지 축소
5588 단어 nginxreductstoragedockertutorial
다음은 NGINX의 일반적인 사용 사례입니다.
Reduct Storage은 TSL 암호화 및 토큰 인증을 지원하지만 NGINX가
유용한:
마지막 사례는 Reduct Storage가 비동기 단일 스레드 애플리케이션이기 때문에 특히 유용할 수 있습니다. 이것은 스토리지 엔진을 매우 강력하고 효율적으로 만들지 만 확장하려면 새 인스턴스를 가동해야 합니다.
이 튜토리얼에서는 Docker Compose를 사용하여 두 개의 Reduct Storage 인스턴스를 시작하고 NGINX에서 하위 경로를 사용하여 분할하는 방법을 보여드리겠습니다.
Docker Compose 구성
먼저
docker-compose.yml
파일을 준비해야 합니다.version: "3"
services:
storage-1:
image: reductstorage/engine:latest
environment:
RS_API_BASE_PATH: "storage-1/" # API available on http://storage-1/storage-1
volumes:
- ./storage-1:/data # separated volume for data
storage-2:
image: reductstorage/engine:latest
environment:
RS_API_BASE_PATH: "storage-2/"
volumes:
- ./storage-2:/data
nginx:
image: nginx:alpine
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf # pass customised configuration to NGINX
depends_on:
- storage-1
- storage-2
ports:
- "80:80" # public port
여기에서 두 개의 완전히 독립적인 스토리지 엔진을 볼 수 있습니다. 서로 다른 볼륨을 사용하고 API 경로가 다릅니다.
기본적으로 HTTP API 및 웹 콘솔은
http(s)://hostname:port/
에서 액세스할 수 있지만 변수를 사용하여 변경할 수 있습니다.RS_API_BASE_PATH
. 실제로 NGINX를 사용하여 storage-1 및 storage-2 경로를 다른 인스턴스에 매핑하고 유지할 수 있습니다.기본 API 경로이지만 웹 콘솔이 작동을 멈춥니다.
또한 엔진의 포트를 게시하지 않는다는 점에 유의해야 합니다. 유일한 공용 포트는 NGINX에서 사용하는 80입니다. 우리는 엔진을 비공개 영역에 유지하고 리버스 프록시를 통해 액세스합니다.
NGINX 구성
이제 NGINX를 설정해야 합니다. 이를 위해 자체 파일
nginx.conf
을 생성하고 컨테이너에 볼륨으로 마운트합니다.전체 구성here을 찾을 수 있습니다. 변경 사항은 다음과 같습니다.
http {
/* default configuration */
upstream storage-1 {
server storage-1:8383;
}
upstream storage-2 {
server storage-2:8383;
}
server {
listen 80;
server_name nginx;
location /storage-1/ {
proxy_pass http://storage-1/storage-1/;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
location /storage-2/ {
proxy_pass http://storage-2/storage-2/;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
}
아이디어는 매우 간단합니다. 스토리지 엔진을 업스트림 서버 storage-1 및 storage-2로 지정합니다. 그 다음에
위치 지시어를 사용하여 경로
/storage-1/
및 /storage-2/
를 업스트림 서버에 매핑합니다.모든 것을
docker-compose up
와 함께 실행하면 http://127.0.0.1/storage-1/ 및 http://127.0.0.1/storage-2/에서 사용 가능한 두 엔진을 모두 찾을 수 있습니다.결론
Reduct Storage에는 데이터에 액세스할 수 있는 HTTP API가 있으므로 NGINX, Apache, K8S 등과 같은 다른 기술과 함께 쉽게 사용하고 인프라에 통합할 수 있습니다. 이 튜토리얼이 도움이 되었기를 바랍니다.
추신
rawpixel.com에 대해 featured image 감사합니다.
Reference
이 문제에 관하여(NGINX 뒤의 스토리지 축소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/reduct-storage/reduct-storage-behind-nginx-1fi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)