클라우드 컴퓨팅 시대에 신속한 배포를 통해 개발자는 신속하게 제품을 제공하고 사용자 요구에 신속하게 대응할 수 있습니다. Golang은 최근 몇 년 동안 클라우드 컴퓨팅 분야에서 필수적인 프로그래밍 언어가 되었습니다. 이는 빠른 컴파일과 효율적인 동시성 성능을 결합합니다. 하지만 애플리케이션이 충돌하면 어떻게 될까요? 애플리케이션을 계속 실행하려면 데몬을 사용하여 애플리케이션을 모니터링하고 다시 시작해야 합니다. 이 기사에서는 systemd를 사용하여 golang 애플리케이션을 배포하고 방어하는 방법을 소개합니다.
1. 설치 및 구성 systemd
systemd는 오늘날 가장 널리 사용되는 초기화 및 데몬 관리 시스템 중 하나입니다. 시스템 서비스와 데몬을 시작하고, 상태를 모니터링하고, 필요할 때 다시 시작하는 일을 담당합니다. systemd를 사용하기 전에 먼저 설치해야 합니다.
다음 명령을 사용하여 systemd를 설치합니다:
$ sudo apt-get update $ sudo apt-get install -y systemd
2. 서비스 파일 생성
데몬을 생성하기 전에 systemd 서비스 파일을 생성해야 합니다. 서비스 파일은 서비스를 설명하는 정보가 포함된 텍스트 파일입니다. 서비스 파일의 위치는 /etc/systemd/system/
디렉터리에 있습니다. 예를 들어 golang-demo.service
라는 서비스 파일을 생성합니다. /etc/systemd/system/
目录下。例如,我们创建一个名为 golang-demo.service
的服务文件:
$ sudo touch /etc/systemd/system/golang-demo.service
编辑 golang-demo.service
文件:
$ sudo nano /etc/systemd/system/golang-demo.service
在文件中添加以下内容:
[Unit] Description=My golang app After=network.target [Service] Type=simple User=ubuntu Group=ubuntu ExecStart=/usr/local/bin/golang-demo [Install] WantedBy=multi-user.target
其中,
[Unit]
部分包含服务名称和描述,以及该服务应该在何时启动(在 network.target
后)。[Service]
部分描述了启动服务的详细信息,包括使用的用户,组,以及启动脚本文件的位置。[Install]
部分规定了 systemd 应该在哪个目标身上启动该服务。三、创建 golang 应用程序
接下来,我们需要创建一个 golang 应用程序,名为 golang-demo
。在 terminal 中,使用以下 git 命令克隆一个简单的 go 应用程序:
$ git clone https://github.com/shalar/golang-demo.git
进入项目目录,并构建和编译应用程序:
$ cd golang-demo $ go build
我们需要将生成的二进制文件 golang-demo
移动到 /usr/local/bin
目录中。
$ sudo mv golang-demo /usr/local/bin/
四、启动服务并进行测试
现在,我们已准备好启动服务并测试它了。使用命令启动服务:
$ sudo systemctl start golang-demo.service
查看服务的状态:
$ sudo systemctl status golang-demo.service
看到 active (running)
,表示服务正在运行,可以通过浏览器访问 http://localhost:8080,应该可以看到输出。
五、开机自启动
如前所述,在 [Install]
$ sudo systemctl enable golang-demo.service
golang-demo.service
파일을 편집합니다. rrreee
파일 :rrreee
여기서[Unit]
부분에는 서비스 이름과 설명, 서비스 시작 시기(network.target에서)가 포함됩니다. 코드> 뒤로).
[서비스]
섹션에서는 사용자, 사용된 그룹, 시작 스크립트 파일 위치 등 서비스 시작에 대한 세부 정보를 설명합니다. [Install]
섹션은 systemd가 서비스를 시작해야 하는 대상을 지정합니다. golang-demo
라는 golang 애플리케이션을 만들어야 합니다. 터미널에서 다음 git 명령을 사용하여 간단한 go 애플리케이션을 복제합니다. 🎜rrreee🎜프로젝트 디렉터리로 이동하여 애플리케이션을 빌드하고 컴파일합니다. 🎜rrreee🎜생성된 바이너리 파일 golang-demo <code>/usr/local/bin
디렉터리로 이동합니다. 🎜rrreee🎜4. 서비스 시작 및 테스트🎜🎜이제 서비스를 시작하고 테스트할 준비가 되었습니다. 서비스를 시작하려면 다음 명령을 사용하세요. 🎜rrreee🎜 서비스 상태 확인: 🎜rrreee🎜 활성(실행 중)
이 표시되면 서비스가 실행 중이라는 뜻입니다. http:/ /localhost:8080 브라우저를 통해 출력이 표시되어야 합니다. 🎜🎜5. 부팅 시 자동 시작🎜🎜앞서 언급한 것처럼 [Install]
섹션에서 서비스를 시작할 대상 시스템을 지정합니다. 이제 다음 명령을 사용하여 부팅 시 자동으로 시작할 수 있습니다. 🎜rrreee🎜이제 시스템은 시작될 때마다 자동으로 서비스를 시작합니다. 🎜🎜6. 결론🎜🎜이 글에서는 systemd를 사용하여 golang 애플리케이션을 배포하고 보호하는 방법을 소개합니다. systemd는 서비스의 시작, 중지, 다시 시작 및 기타 작업을 쉽게 관리하여 애플리케이션이 항상 온라인 상태를 유지할 수 있게 해주는 인기 있는 데몬 관리자입니다. 🎜위 내용은 systemd를 사용하여 golang 애플리케이션을 배포하고 방어하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!