カテゴリー:
学習
閲覧数:298 配信日:2018-04-29 10:28
buildする「binary file」名を変更
buildする際、出力ファイル名変更する方法が分からない
・ファイル名自体を変更
・index.go → goweb.go
build実行
「goweb」バイナリファイルを出力
$ cd /var/www/◇◇/go-demo.w4c.work
$ go build goweb.go
▼/var/www/◇◇/go-demo.w4c.work/gowebbuild結果を移動
「goweb」バイナリファイルを、/opt/ディレクトリ直下へ移動
$ sudo mv /var/www/◇◇/go-demo.w4c.work/goweb /opt/goweb
$ cd /opt
$ ls -l
合計 6356
-rwxrwxr-x 1 ★★ ★★ 6504539 4月 29 10:50 goweb
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
Unit定義ファイル作成
/etc/systemd/system/ の下にUnit定義ファイルを作成
$ sudo vi /etc/systemd/system/goweb.service
・「ExecStart = /opt/goweb」で、サービス起動コマンドとして「/opt/goweb」ファイルを指定・「Restart = always」で、プロセスが異常終了した際は、サービスの再起動を行う
・「Type = simple」で、指定コマンドがフォアグラウンドで実行を継続する場合、コマンドを実行した らすぐに起動完了と判定する
[Unit]
Description = go web start
[Service]
ExecStart = /opt/goweb
Restart = always
Type = simple
[Install]
WantedBy = multi-user.target
Unit定義ファイル確認
UnitがServiceとして認識されたか確認
・今回はgoweb.serviceファイルを作成したので、ファイル名で検索してみる
$ sudo systemctl list-unit-files --type=service | grep goweb
goweb.service disabled
サービス起動
自動起動on して start
・ここまでくれば、普通のサービスとして取扱可能
自動起動on
・enable
$ sudo systemctl enable goweb
Created symlink from /etc/systemd/system/multi-user.target.wants/goweb.service to /etc/systemd/system/goweb.service.
起動
・start
$ sudo systemctl start goweb
ステータス確認
$ sudo systemctl status
● ■■.vs.sakura.ne.jp
State: degraded
Jobs: 0 queued
Failed: 1 units
Since: 月 2018-04-23 16:15:08 JST; 5 days ago
CGroup: /
├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
├─user.slice
│ └─user-1000.slice
│ ├─session-1352.scope
│ │ ├─5450 sshd: ★★ [priv
│ │ ├─5452 sshd: ★★@nott
│ │ └─5453 /usr/libexec/openssh/sftp-server
│ ├─session-1341.scope
│ │ ├─5070 sshd: ★★ [priv
│ │ ├─5072 sshd: ★★@nott
│ │ └─5073 /usr/libexec/openssh/sftp-server
│ ├─session-1318.scope
│ │ ├─3721 sshd: ★★ [priv
│ │ ├─3723 sshd: ★★@pts/
│ │ ├─3724 -bash
│ │ ├─5530 sudo systemctl status
│ │ ├─5531 systemctl status
│ │ └─5532 less
│ └─session-1307.scope
│ ├─3586 sshd: ★★ [priv
│ ├─3588 sshd: ★★@nott
│ └─3589 /usr/libexec/openssh/sftp-server
└─system.slice
├─goweb.service
│ └─5525 /opt/goweb
├─uwsgi.service
│ ├─1769 /usr/bin/uwsgi --emperor /var/www/◇◇/python-demo.w4c.work/emperor --uid nginx --gi
│ ├─1770 /usr/bin/uwsgi --ini emperor.ini
│ ├─5159 /usr/bin/uwsgi --ini emperor.ini
│ ├─5160 /usr/bin/uwsgi --ini uwsgi.ini
│ ├─5161 /usr/bin/uwsgi --ini b.ini
lines 1-37
Webブラウザにて、アプリケーション内容の表示確認
http://go-demo.w4c.work/
113H33ello World!sss22
2018/8/21時点
build済の「binary file」名を確認
$ cd /opt
$ ls -l
合計 0
drwxr-xr-x 2 root root 33 5月 7 10:05 go
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
$ cd go
$ ls -l
合計 19080
-rwxr-xr-x 1 root root 6508678 5月 6 11:04 a1
-rwxr-xr-x 1 root root 6508678 5月 6 11:04 a2
-rwxr-xr-x 1 root root 6508678 5月 7 10:02 a3
a1「binary file」内容を確認
$ less a1
"a1" may be a binary file. See it anyway?
y
^?ELF^B^A^A^@^@^@^@^@^@^@^@^@^B^@>^@^A^@^@^@^PjE^@^@^@^@^@@^@^@^@^@^@^@^@p^B^@^@^@^@^@^@^@^@^@^@@^@8^@
^@@^@$^@ ^@^F^@^@^@^D^@^@^@@^@^@^@^@^@^@^@@^@@^@^@^@^@^@@^@@^@^@^@^@^@0^B^@^@^@^@^@^@0^B^@^@^@^@^@^@^@^P^@^@^@^@^@^@^C^@^@^@^D^@^@^@<E4>^O^@^@^@^@^@^@<E4>^O@^@^@^@^@^@<E4>^O@^@^@^@^@^@^\^@^@^@^@^@^@^@^\^@^@^@^@^@^@^@^A^@^@
^@^@^@^@^@^D^@^@^@^D^@^@^@<80>^O^@^@^@^@^@^@<80>^O@^@^@^@^@^@<80>^O@^@^@^@^@^@d^@^@^@^@^@^@^@d^@^@^@^@^@^@^@^D^@^@
^@^@^@^@^@^A^@^@^@^E^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@@^@^@^@^@^@<D0><E3> ^@^@^@^@^@<D0><E3> ^@^@^@^@^@^@^P
^@^@^@^@^@^@^A^@^@^@^D^@^@^@^@<F0> ^@^@^@^@^@^@<F0>`^@^@^@^@^@^@<F0>`^@^@^@^@^@E<93>ESC^@^@^@^@^@E<93>ESC^@^@^@^@^@^@^P^@^@^@^@^@^@^A^@^@^@^F^@^@^@^@<90><^@^@^@^@^@^@<90>|^@^@^@^@^@^@<90>|^@^@^@^@^@<C0>G^C^@^@^@^@^@8g^E^@^@^@^@^@
^@^P^@^@^@^@^@^@^B^@^@^@^F^@^@^@ <91><^@^@^@^@^@ <91>|^@^@^@^@^@ <91>|^@^@^@^@^@0^A^@^@^@^@^@^@0^A^@^@^@^@^@^@^H^@
^@^@^@^@^@^@^G^@^@^@^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^H^@^@^@^@^@^@^@^H^@^@
^@^@^@^@^@Q<E5>td^F^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^H^@^@^@^@^@^@^@<80>^U^De^@*^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^H^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^A^@^@^@^A^@^@^@^F^@^@^@^@^@^@^@^@^P@^@^@^@^@^@^@^P^@^@^@^@^@^@<B4><D1> ^@^@^@^@^@^@^@^@^@^@^@^@
^@^P^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@V^A^@^@^A^@^@^@^F^@^@^@^@^@^@^@<C0><E1>`^@^@^@^@^@<C0><E1> ^@^@^@^@^@^P^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^P^@^@^@^@^@^@^@^P^@^@^@^@^@^@^@G^@^@^@^A^@^@^@^B^@^@^@^@^@^@^@^@<F0>`^@^@^@^@^@^@<F0> ^@^@^@^@^@
//以下略
・Systemd