nginxとパッセンジャーをインストールして実行できましたが、サーバーを再起動するたびにnginxを起動させることができません。nginxプロセスを開始するには、sudo / opt / nginx / sbin / nginxと入力します。私の理解から、ubuntu hardyで/etc/init.dに入れたものはすべて実行されます。このコマンドライン呼び出しを模倣するコマンドを知っている人はいますか?
sudo / opt / nginx / sbin / nginx
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が起動することを確認してください。
次にsudo update-rc.d nginx-passenger.sh defaults
、/ etc / init.dディレクトリにいる間に実行します。これがすべて整ったら、サーバーを再起動すると、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をインストールしたと仮定しています
nginxを実行している場合は、次を使用してプロセスを停止します。
sudo kill
猫/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
update-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は自動的に起動します。
sudo systemctl enable nginx
中からしなければなりませんでした/etc/init.d
。
このスクリプトを使用して、助手席のnginxを開始します。
http://library.linode.com/development/frameworks/ruby/ruby-on-rails/nginx-ubuntu-8.04-hardy
このリンクを確認してください:
https://github.com/JasonGiedymin/nginx-init-ubuntu
それらは、ubuntuで実行するnginx init.dスクリプトを提供します。
参考までに:Linodeから提供されたMaverickの手順とスクリプト( http://library.linode.com/frameworks/ruby-on-rails-nginx/ubuntu-10.10-maverick)を実行しました