私はnginxとパッセンジャーをインストールして実行することができましたが、サーバーを再起動するたびにnginxを起動させることができません。 nginxプロセスを開始するには、単にSudo/opt/nginx/sbin/nginxと入力します。私の理解から、私がubuntu hardyで/etc/init.dに入れたものはすべて実行されます。このコマンドライン呼び出しを模倣するコマンドを知っている人はいますか?
sudo/opt/nginx/sbin/nginx
誰かが段階的な指示を望んでいるなら、情報をありがとう。 / etc/init.dに移動してSudo nano nginx-passenger.sh
を実行し、次のコードを貼り付けます。
#!/bin/bash
# this script starts the nginx process attached to passenger
Sudo /opt/nginx/sbin/nginx
保存して終了。 Sudo chmod +x /etc/init.d/nginx-passenger.sh
と入力して、ファイルを実行可能にします。 Sudo /etc/init.d/nginx-passenger.sh
と入力してスクリプトが機能するかどうかをテストするには、スクリプト内のすべてのコードを実行します。続行する前にnginxが起動することを確認してください。
次に、/ etc/init.dディレクトリにいる間にSudo update-rc.d nginx-passenger.sh defaults
を実行します。これがすべて整ったら、サーバーを再起動すると、ngnixが起動時に自動的に生成されます。
/etc/init.dは、起動スクリプトを置く場所にすぎません。しかし、スクリプトがあっても自動的には何も行われません。
Initシステムは、/ etc/rc#.dディレクトリ内のシンボリックリンクを使用して、/ etc/init.dフォルダー内のスクリプトにアクセスします。シンボリックリンクの名前は、開始オプションを指定してスクリプトを実行する場合はSで始まり、停止オプションを実行する場合はKで始まり、その後に優先順位番号とスクリプト名が続く必要があります。
詳細については、以下を参照してください
/etc/init.d/README
/etc/rc1.d/README
/etc/rc2.d/README
あるいは、実行したいコマンドを/etc/rc.localスクリプトに入れることもできます。このスクリプトは、システムの起動後に実行され、/ etc/rc2.d /フォルダー内のすべてのスクリプトの実行を終了します。
ブート時にnginxを起動するには:Sudo systemctl enable nginx
(すぐに開始しない)
nginxを開始するには:Sudo system start nginx
私はあなたがnginxをインストールしたと仮定しています
Nginxを実行している場合は、次を使用してプロセスを停止します。
Sudo kill
cat /usr/local/nginx/logs/nginx.pid初期化スクリプト
以下に示すスクリプトは、Ubuntu 10.04インストールからのもので、nginxのカスタムインストールを考慮に入れるように調整されています。スクリプトを作成してください:
Sudo nano /etc/init.d/nginx
空のファイル内に以下を配置します。
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
実行 initファイルはシェルスクリプトであるため、実行権限が必要です。
それらを次のように設定します。
Sudo chmod +x /etc/init.d/nginx
pdate-rcこれで基本スクリプトが準備できたので、それをデフォルトの実行レベルに追加する必要があります。
Sudo /usr/sbin/update-rc.d -f nginx defaults
出力は次のようになります。
Sudo /usr/sbin/update-rc.d -f nginx defaults
Adding system startup for /etc/init.d/nginx ...
/etc/rc0.d/K20nginx -> ../init.d/nginx
/etc/rc1.d/K20nginx -> ../init.d/nginx
/etc/rc6.d/K20nginx -> ../init.d/nginx
/etc/rc2.d/S20nginx -> ../init.d/nginx
/etc/rc3.d/S20nginx -> ../init.d/nginx
/etc/rc4.d/S20nginx -> ../init.d/nginx
/etc/rc5.d/S20nginx -> ../init.d/nginx
これで、他のサービスと同じようにnginxを起動、停止、再起動できます。
Sudo /etc/init.d/nginx start
...
Sudo /etc/init.d/nginx stop
...
Sudo /etc/init.d/nginx restart
スクリプトは再起動時にも呼び出されるため、nginxは自動的に起動します。
このスクリプトを使用して、助手席のnginxを開始します。
http://library.linode.com/development/frameworks/Ruby/ruby-on-Rails/nginx-ubuntu-8.04-hardy
このリンクを確認してください:
https://github.com/JasonGiedymin/nginx-init-ubunt
これらは、ubuntuで実行するnginx init.dスクリプトを提供します。
参考のために、私は http://library.linode.com/frameworks/Ruby-on-Rails-nginx/ubuntu-10.10-maverick でLinodeによって提供されたMaverickの指示とスクリプトに従いました