Ubuntu Server 14.04を使用しています。編集/etc/init.d/gearman-job-server
して入力した後:
# sudo service gearman-job-server restart
私が修正した内容は無視されます。ただし、次のように入力します。
# /etc/init.d/gearman-job-server restart
すべてが正常です。このスクリプトは現在Ubuntu 14.04のどこかにキャッシュされていますか?
答え1
受信アドレスを変更しようとしたときにUbuntu 15.10で同様の問題が発生した後、レガシーinitスクリプトは無視され、systemd設定が127.0.0.1でのみ受信するようにハードコードされていることがわかりました。
回避策は、systemd構成を変更して再ロードしてからサービスを再起動することです。
設定を変える
設定は直接変更することも、オーバーレイファイルを介して変更することもできます。
自分で編集して
systemdサービス設定はにあります/lib/systemd/system/gearman-job-server.service
。このファイルを編集し、必要なパラメータを含むようにExecStart行を変更します。
渡すファイルの上書き
ファイルを作成します/etc/systemd/system/gearman-job-server.service.d/gearman-job-server.conf
。
ExecStart コマンドをオーバーライドするには、次の構成をファイルに配置します。
[Service]
ExecStart=
ExecStart=/usr/sbin/gearmand --pid-file=/run/gearman/server.pid --log-file=/var/log/gearman-job-server/gearman.log
ExecStart=
元のコマンドラインを削除するには空行が必要です。これがなければ、システムはソースとカスタマイズを実行しようとします。
構成の再ロード
systemd がサービス構成を再ロードするように、次のコマンドを実行します。
/bin/systemctl daemon-reload
サービスの再起動
service gearman-job-server restart
答え2
Ubuntu 12.04とUbuntu 14.04を使用している場合、 initスクリプトは最初にsudo service
(upstart)で検索し、次にそれを見つけます。/etc/init
/etc/init.d
/etc/init/gearman-job-server.conf
それから
/etc/init.d/gearman-job-server
ところで、gearman-job-server.confにもバグがあります。ここ。