>  기사  >  운영 및 유지보수  >  Linux 시스템에서 애플리케이션을 배포하고 관리하는 방법

Linux 시스템에서 애플리케이션을 배포하고 관리하는 방법

PHPz
PHPz원래의
2023-11-07 10:52:481239검색

Linux 시스템에서 애플리케이션을 배포하고 관리하는 방법

오늘날의 IT 시대에 Linux 시스템은 가장 인기 있는 운영 체제 중 하나가 되었습니다. Linux 시스템은 안정적이고 오픈 소스이며 개발자가 애플리케이션을 쉽게 개발하고 통합할 수 있기 때문에 업계의 많은 사람들이 Linux를 사용하여 애플리케이션을 배포하는 것을 좋아합니다.

이 문서에서는 Linux 시스템에서 애플리케이션을 배포하고 관리하는 방법을 소개합니다. 실제 애플리케이션을 사례로 사용하고 특정 코드 예제를 통해 배포 및 관리를 구현하는 방법을 보여줍니다.

애플리케이션 준비

시작하기 전에 간단한 애플리케이션을 준비하고 실행 파일로 패키징해야 합니다. "Hello, World!"를 출력하는 간단한 Python 스크립트를 사용하겠습니다.

다음은 Python 스크립트의 코드 예입니다.

#!/usr/bin/env python3
print('Hello, World!')

이 스크립트를 실행하기 전에 Python 3이 설치되어 있는지 확인해야 합니다. 명령줄 인터페이스에 다음 명령을 입력하여 확인할 수 있습니다.

python3 --version

Python 3가 성공적으로 설치되면 다음과 유사한 출력이 표시됩니다.

Python 3.8.5

다음으로, PyInstaller를 사용하여 Python 스크립트를 패키지로 패키징합니다. 실행 가능 파일 . PyInstaller는 Python 코드를 독립적으로 실행 가능한 바이너리로 패키징하는 Python 애플리케이션용 패키징 도구입니다. 다음 명령을 통해 설치할 수 있습니다.

pip3 install pyinstaller

PyInstaller를 설치한 후 다음 명령을 입력하여 Python 스크립트를 패키징합니다.

pyinstaller --onefile hello.py

실행 후 dist 디렉터리에 패키징된 hello 실행 파일이 표시됩니다.

애플리케이션 배포

이제 패키지된 애플리케이션을 Linux 시스템에 배포할 수 있습니다. 우리는 Debian Linux 시스템 제품군(예: Ubuntu)을 예로 사용하겠습니다.

먼저, 패키지된 hello 실행 파일을 Linux 시스템에 업로드합니다. scp 명령을 사용하여 원격 서버에 파일을 업로드할 수 있습니다.

scp -P <port> /path/to/hello user@server:/path/to/destination

이 명령에서 는 SSH 포트이고 /path/to/hello는 패키지된 실행 파일의 경로이며 user는 사용자입니다. Linux 시스템 이름 중 server는 Linux 시스템의 IP 주소 또는 도메인 이름이고, /path/to/destination은 파일을 저장하려는 대상 경로입니다.

파일을 시스템에 업로드한 후 chmod 명령을 사용하여 파일을 실행 가능한 파일로 설정할 수 있습니다.

chmod +x /path/to/hello

이제 파일을 직접 실행하여 애플리케이션을 시작할 수 있습니다.

./hello

출력이 표시됩니다.

Hello, World!

애플리케이션 관리

애플리케이션을 성공적으로 배포한 후에는 이를 관리하는 방법에 대해 생각해야 합니다. 다음은 애플리케이션을 관리하는 몇 가지 방법입니다.

  1. systemd 사용

systemd는 최신 Linux 시스템을 위한 기본 서비스 관리자입니다. systemctl 명령을 사용하여 시작, 중지, 다시 로드, 다시 시작 및 기타 서비스를 수행할 수 있습니다. systemd에서 애플리케이션 서비스를 구성하려면 유닛 파일을 생성해야 합니다. 다음은 샘플 hello.service 유닛 파일입니다:

[Unit]
Description=hello service

[Service]
WorkingDirectory=/path/to/application
ExecStart=/path/to/hello

[Install]
WantedBy=multi-user.target

이를 /etc/systemd/system/ 디렉터리에 저장하고 systemd가 다시 로드된 후 시작해야 합니다.

systemctl daemon-reload
systemctl start hello.service

물론 systemctl 명령을 사용하여 다음 작업을 수행할 수도 있습니다. 중지, 다시 시작, 다시 로드 등과 같은 기타 작업을 수행합니다.

  1. supervisor 사용

Supervisor는 Linux 서버에서 여러 프로세스를 관리하는 도구입니다. 이를 통해 데몬 모드에서 애플리케이션을 실행하고 충돌이 발생하면 자동으로 다시 시작할 수 있습니다. 다음은 샘플 hello.conf 파일입니다.

[program:hello]
command=/path/to/hello
directory=/path/to/application
autostart=true
autorestart=true
startretries=3
stderr_logfile=/var/log/hello.err.log
stdout_logfile=/var/log/hello.out.log

이를 /etc/supervisor/conf.d/ 디렉토리에 저장하고 Supervisor를 다시 로드해야 합니다.

systemctl reload supervisor

이제 Supervisorctl 명령을 사용하여 애플리케이션을 시작합니다.

supervisorctl start hello

사용 애플리케이션을 중지하려면 다음 명령을 사용하세요.

supervisorctl stop hello

다시 시작, 다시 로드 등과 같은 다른 명령을 사용할 수도 있습니다.

결론

이 기사에서는 애플리케이션을 배포하고 관리하는 방법을 자세히 설명했습니다. Python 스크립트를 예로 들어 PyInstaller를 통해 실행 파일로 패키징한 다음 Linux 시스템에 배포합니다. 이어서 systemd 및 Supervisor와 같은 몇 가지 애플리케이션 관리 방법에 대해 논의했습니다. 위의 예제는 모두 직접 사용할 수 있는 코드를 제공합니다. 이 문서가 애플리케이션을 성공적으로 배포하고 관리할 수 있도록 유용한 지침을 제공하기를 바랍니다.

위 내용은 Linux 시스템에서 애플리케이션을 배포하고 관리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.