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