> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/reference/ko/inference/inference-cli/server.md).

# Inference Server 제어

inference server 명령으로 로컬 Roboflow Inference Server를 시작, 구성, 검사 및 중지합니다.

그 `추론 서버` 명령은 Inference를 노출하는 HTTP 서버를 둘러싼 제어 계층을 제공합니다.

{% hint style="success" %}
명령의 세부 정보를 보려면 다음을 실행하세요:

```bash
inference server --help
```

각 하위 명령에 대한 도움말도 사용할 수 있습니다:

```bash
inference server start --help
```

{% endhint %}

## `inference server start`

로컬 Inference Server를 시작합니다. 선택적으로 포트 번호를 받을 수 있으며(기본값은 9001), 해당 포트에서 이미 실행 중인 컨테이너가 없을 때만 Docker 컨테이너를 시작합니다.

대신 Google Cloud 또는 Amazon Cloud의 가상 머신에서 서버를 실행하려면 다음을 참조하세요: [클라우드에 배포](/reference/ko/inference/inference-cli/cloud.md).

시작하기 전에 머신에 Docker가 설치되어 있는지 확인하세요. Docker는 컨테이너화된 환경을 제공하여 호스트 시스템과 관계없이 Inference Server가 일관되고 격리된 방식으로 실행되도록 합니다. 아직 Docker를 설치하지 않았다면 다음에서 받을 수 있습니다: [Docker 공식 웹사이트](https://www.docker.com/get-started).

CLI는 실행 중인 장치를 자동으로 감지하고 적절한 Docker 이미지를 가져옵니다.

```bash
inference server start --port 9001 [-e {optional_path_to_file_with_env_variables}]
```

매개변수 `--env-file` (또는 `-e`)는 다음에 대한 선택적 경로입니다. `.env` 파일로, 내부 매개변수의 값을 조정해야 할 때 Inference Server에 로드됩니다. 명령 매개변수로 명시적으로 전달된 값은 더 우선하며, `.env` 파일에 동일한 대상 변수 이름으로 정의된 값을 덮어씁니다.

### 네트워크 접근

CLI는 포트 9001을 `127.0.0.1` 기본적으로 공개하므로, 같은 머신의 프로세스만 접근할 수 있습니다. NVIDIA Jetson 이미지는 예외입니다. 이들은 `0.0.0.0`에 공개됩니다. Jetson은 보통 다른 머신에서 제어되기 때문입니다. 다음을 사용하세요: `--bind-address` (또는 `-b`)를 사용하여 명시적으로 선택하세요:

```bash
# 네트워크상의 다른 머신에서도 접근 가능 - 먼저 보안을 설정하세요
inference server start --bind-address 0.0.0.0 --env-file inference.env

# 이 머신에서만 접근 가능( Jetson을 제외한 모든 곳의 기본값)
inference server start --bind-address 127.0.0.1
```

루프백이 아닌 주소는 노출 경고를 표시합니다. 사용하기 전에 인증과 방화벽 접근을 구성하세요. 다음을 참조하세요: [서버 보안](https://docs.roboflow.com/deployment/self-hosted/inference-server/configuration/security) 인증 설정은 [마이그레이션 범위](https://docs.roboflow.com/deployment/self-hosted/inference-server/configuration/security-migration#release-status) 버전 적용 가능성은 확인하세요.

{% hint style="warning" %}
Inference Server는 기본적으로 인증이 필요하지 않으며 Workflows Custom Python 블록을 실행합니다. 이는 해당 포트에 접근할 수 있는 사람에게 원격 코드 실행을 의미합니다. 다음을 읽어보세요: [자체 호스팅 서버 보안](https://docs.roboflow.com/deployment/self-hosted/inference-server/configuration/security) 다음 이외의 주소에 바인딩하기 전에 `127.0.0.1`.
{% endhint %}

이 플래그는 개발 모드의 포트 9002를 포함하여 Docker의 호스트 측 포트 매핑을 제어합니다. 이는 다음을 변경하지 않습니다: `HOST=0.0.0.0` 컨테이너 내부에서.

### 볼륨 마운트

다음을 사용하여 `--volume` (또는 `-v`) 플래그로 호스트 디렉터리를 컨테이너에 마운트하세요. 이는 Workflows가 쓴 파일을(예: 다음을 통해 `local_file_sink` 블록) 로컬 머신에 보존하는 데 유용합니다.

```bash
inference server start --volume /host/path:/container/path
```

플래그를 반복하여 여러 볼륨을 마운트할 수 있습니다:

```bash
inference server start --volume /host/data:/data --volume /host/models:/models:ro
```

선택적 `:ro` 접미사는 볼륨을 읽기 전용으로 마운트합니다. 생략하면 볼륨은 읽기/쓰기로 마운트됩니다.

### 개발 모드

다음을 사용하여 `--dev` 플래그로 Inference Server를 개발 모드로 시작합니다. 개발 모드는 손쉬운 테스트와 개발을 위해 Inference Server의 내장 노트북 환경을 활성화합니다.

```bash
inference server start --dev
```

다음을 방문하세요 `localhost:9001` 브라우저에서 Inference 시작 페이지를 확인하세요. 이 페이지에는 리소스와 예제로 연결되는 링크가 있습니다. 시작 페이지에서 "Jump Into an Inference Enabled Notebook"을 선택하면 새 탭에서 내장된 JupyterLab 환경이 열립니다. 여기에는 예제 노트북과 Inference를 실행하는 데 필요한 모든 종속성이 미리 로드되어 있습니다.

### 터널

다음을 사용하여 `--tunnel` 플래그로 Inference Server를 터널과 함께 시작하여, TLS가 활성화된 엔드포인트에서 외부 요청에 inference를 노출합니다. 이로 인해 호스트 게시가 다음으로 강제됩니다: `0.0.0.0` 터널이 연결될 수 있도록, 루프백 바인드 주소를 요청했더라도 그렇습니다. LAN 액세스와 터널을 통한 액세스를 모두 검토하세요.

무작위로 생성된 주소는 서버 시작 출력에 표시됩니다:

```
https://somethingrandom-ip-192-168-0-1.roboflow.run 에서 실행 중인 로컬 inference로의 터널
```

## `inference server status`

로컬 Inference Server의 상태를 확인합니다.

```bash
inference server status
```

## `inference server stop`

Inference Server를 중지합니다.

```bash
inference server stop
```
