systemd

Systemdで動かすNode.jsでnewrelic agentを使う

また Systemd の話です。 Node.jsのプログラムをsystemdで動かすと意図しない動作をどうにかする GolangのGinをSystemdで動かすのにハマった 今回はバックエンドに newrelic を導入しようとしたところ、 うまく動作しなかったため解決策を載せておきます。   原因 Systemd のせいです。 newrelic のモジュールはアプリケーションフォルダに、ログファイルを吐き出すんですが モジュールがこれを見つけることができない(cgroupsのせいで /newrelic-log.txt を見る)ため   解決 newrelicのサイトに行くとnewrelic.jsを配置しないといけないわけですが [crayon-5b2a6ce23145a983650807/] こんな感じになってると思います。 モジュールを見ていくと分かったんですけど これ以外にも設定できる項目がたくさんあります。 今回はログをきちんと見つけられるように絶対パスで指定します。 [crayon-5b2a6ce23146d459424122/]  

GolangのGinをSystemdで動かすのにハマった

背景 デプロイ先のサーバーでビルドしたものを 以下のようなUnitファイルを作ったら起動できなかった話 [crayon-5b2a6ce2316af525405507/]   systemctl -l status hoge とやってもエラーが分からず /var/log/messagesを見るとpanic: html/template: pattern matches no files: templates/*が出力されてました。 賢い人ならこんなミスをしないと思うけど…;;   解決 [crayon-5b2a6ce2316bd876459587/] WorkingDirectoryを追加して実行パスを適切に設定してあげれば 起動できるようになりました。 Golang…難しい。

コンテナ環境でcronの@rebootが動かない問題をsystemdで解決する

再再履修の微積IIのテストが今日終わりました。 今日から春休みですが研究も本格的に始まりそうであんまり嬉しくない。 やりたいことではあるけど週1、月1で大学行く必要性とは! 覚書です。     やりたいこと LXC上で動いているコンテナに起動時に任意のコマンドを実行したい     問題点 cron に @reboot をつけて @reboot date > /home/node/date.txt は動かない。 物理マシンや KVM と違って起動の仕方(ACPI関連)が違うため cronから見たときに @reboot が適応できない(憶測) 時間があるときに調べようと思います…。 参考:https://github.com/phusion/baseimage-docker/issues/280     解決方法 systemd を使ってサービス化してしまう。