오늘날의 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
이 명령에서
파일을 시스템에 업로드한 후 chmod 명령을 사용하여 파일을 실행 가능한 파일로 설정할 수 있습니다.
chmod +x /path/to/hello
이제 파일을 직접 실행하여 애플리케이션을 시작할 수 있습니다.
./hello
출력이 표시됩니다.
Hello, World!
애플리케이션 관리
애플리케이션을 성공적으로 배포한 후에는 이를 관리하는 방법에 대해 생각해야 합니다. 다음은 애플리케이션을 관리하는 몇 가지 방법입니다.
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 명령을 사용하여 다음 작업을 수행할 수도 있습니다. 중지, 다시 시작, 다시 로드 등과 같은 기타 작업을 수행합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!