本文を読み飛ばす

Fedora16にZopeを設定する

systemdになったので/etc/init.dに置いていた \ Zopeを起動するスクリプトが動かなくなりました.

Fedora16でZopeをサービスに登録する \ 私なりに成功した方法を記して置きます.

手順

  • /lib/systemd/system/zope.service を作成する

  • systemctl start zope.service で起動を確認

  • systemctl enable zope.service で常時起動を設定

おぉー簡単3stepですね.

1. /lib/systemd/system/zope.service を作成する

これがよくわからなかった.

RHEL7とかになったらsystemdになるのかなー. \ もしそうなら今やったことは役に立つはず... \ 何年後の話でしょうか.

もう鯖管とかしてないよな...

試行錯誤してできたファイルは次のようになります:

[Unit]
Description=The Zope2 Http Server
After=network.target remote-fs.target

[Service]
Type=simple
PIDFile=/home/zope/current/var/Z2.pid
EnvironmentFile=/home/zope/current/etc/zope.conf
ExecStartPre=/bin/rm -f /home/zope/current/var/Data.fs.lock /home/zope/current/var/Z2.lock /home/zope/current/var/Z2.pid /home/zope/remote/var/Data.fs.lock
ExecStart=/home/zope/current/bin/zopectl foreground
#ExecStart=/home/zope/current/bin/zopectl start
#ExecStop=/home/zope/current/bin/zopectl stop
User=zope

[Install]
WantedBy=multi-user.target

少し無駄な部分残してますが, 現在はこの設定で動いてます :D \ ちょっとだけ解説すると, \ うちのサーバはnfs上にData.fsがあるので:

After=remote-fs.target

を設定しています. 普通はnetwork.targetだけでいいと思います.

上のファイルは大部分をapacheの設定から流用してますので それでいいのかなーと思ってます.

あとzopectlで起動・終了させたかったのですが, なんでかうまくいきませんでした.

代わりにforegroundで起動させてます.

Typeをいろいろいじったりしたんですけど なんかよくわからなくて...

2.3. systemctlでサービス登録

2.3.は簡単なので軽く紹介だけ.

以下のコマンドで確認します:

$ sudo systemctl daemon-reload
$ sudo systemctl start zope.service
$ sudo systemctl status zope.service
zope.service - The Zope2 Http Server
Loaded: loaded (/lib/systemd/system/zope.service; enabled)
Active: active (running) since Tue, 20 Mar 2012 13:37:47 +0900; 2h 35min ago
Process: 1096 ExecStartPre=/bin/rm -f /home/zope/current/var/Data.fs.lock /home/zope/current/var/Z2.lock /home/zope/current/var/Z2.pid /home/zope/remote/var/Data.fs.lock (code=exited, status=0/SUCCESS)
Main PID: 1139 (zopectl)
CGroup: name=systemd:/system/zope.service
├ 1139 /home/zope/2.13.0a3b/venv/bin/python2.7 /home/zope/current/ve...
└ 1167 /home/zope/2.13.0a3b/venv/bin/python2.7 /home/zope/current/ve...

ここまでで起動はOKです. \ 後は常時起動にしておくだけ (上記の出力は既にenableになってます):

$ sudo systemctl enable zope.service

これで再起動後でもZopeが勝手に起動すると思います.

正直調べると確かにSystemVよりは便利になっている気がします >> systemd もうUbuntuとかにも採用されてるのかな?

1.0.0:

07/11/11 23:26:21 1st version.

コメント

Comments powered by Disqus
宣伝: