debianサーバ起動時にサービスを動作させたくなったら
/etc/init.d/に起動スクリプトを作って登録する
起動スクリプトの作り方
テンプレートをコピーして、
# cp /etc/init.d/skelton /etc/init.d/kidou
最低限以下を書く(参考:ラズパイで自動起動するデーモンを自作する - 銀の弾丸
できたら、権限を与える
# chmod 755 /etc/init.d/kidou # chown root:root /etc/init.d/kidou
起動スクリプトの登録と削除
登録は、
# update-rc.d kidou defaults
この時Providesが他とかぶってると(skeltonのまま二つ目を登録すると
以下となってしまうのでProvidesはユニークにする必要がある
# update-rc.d hogehoge defaults The disable|enable API is not stable and might change in the future. # update-rc.d vpnclient defaults insserv: script vpnclient: service skeleton already provided! insserv: exiting now! update-rc.d: error: insserv rejected the script header
削除は、
# update-rc.d -f kidou remove
systemdが流行ってるらしいよ
- systemdは賛否両論あるけれど多くのdistで使われている
- init.d配下を呼び出すことはできる
参考:
私がsystemdを嫌う理由 | インフラ・ミドルウェア | POSTD
systemd で LSB な init script を走らせる(ささやかな抵抗) - Qiita
init.d配下はsystemd経由で呼び出せるので、枯れてるinit.dのスクリプトを書いた。
目的に対し、覚えるコストが低く、歴史の長いものを使っとけば、とりあえずOK
debianのユーザディレクトリの.profileを消してしまったら
焦らずに
cp /etc/skel/.profile /home/[username]/
参考
https://www.debian.org/doc/debian-policy/ch-files.html#s10.7.5
debianのnginxでredmineをspawn-fcgiで動作させたくなったら
試したのはdebian 8, jessie
redmineのインストール
redmine - Debian Wikiの2までやる。
インストールとは別だが、フォルダ配置が純粋redmineと異なる点に注意
詳細はページ最下段のDifferences_from_upstream_Redmineにある通り
nginxのインストールとconf修正
まずは、インストール
apt install nginx
次は、confを準備・修正
nginxは起動時に/etc/nginx/nginx.confを読み込み、
defaultのnginx.confはinclude /etc/nginx/conf.d/*.confするので
# default.confを読み込まないよう名前を変更 mv /etc/nginx/conf.d/default.conf default # テンプレをredmine.confとしてコピー cp /usr/share/doc/redmine/examples/nginx-alias.conf /etc/nginx/conf.d/redmine.conf
最後に、redmine.confを修正
upstream redmine_default { # the socket a fastcgi process is bound to server unix:/var/run/redmine/sockets/default/fcgi.socket; } server { location / { alias /usr/share/redmine/public; try_files $uri @fcgi; } location @fcgi { include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/share/redmine/public/$fastcgi_script_name; fastcgi_pass redmine_default; #fastcgi_pass 127.0.0.1:9999; #unixドメインソケットを使わないなら、こっち fastcgi_index index.html; } }
spawn-fcgiとnginxの起動
RAILS_ENV=production spawn-fcgi -U nginx -s /var/run/redmine/sockets/default/fcgi.socket -S -d /usr/share/redmine -- /usr/share/redmine/public/dispatch.fcgi systemctl start nginx
tcpなら、
RAILS_ENV=production spawn-fcgi -a 127.0.0.1 -p 9999 -d /usr/share/redmine -- /usr/share/redmine/public/dispatch.fcgi systemctl start nginx
以上