web-dev-qa-db-ja.com

起動時にNginxを起動する

私はnginxとパッセンジャーをインストールして実行することができましたが、サーバーを再起動するたびにnginxを起動させることができません。 nginxプロセスを開始するには、単にSudo/opt/nginx/sbin/nginxと入力します。私の理解から、私がubuntu hardyで/etc/init.dに入れたものはすべて実行されます。このコマンドライン呼び出しを模倣するコマンドを知っている人はいますか?

sudo/opt/nginx/sbin/nginx

11

誰かが段階的な指示を望んでいるなら、情報をありがとう。 / 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が起動時に自動的に生成されます。

10

/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 /フォルダー内のすべてのスクリプトの実行を終了します。

9
3dinfluence

ブート時にnginxを起動するには:Sudo systemctl enable nginx(すぐに開始しない)

nginxを開始するには:Sudo system start nginx

5
Ben Butterworth

私はあなたがnginxをインストールしたと仮定しています

Nginxを実行している場合は、次を使用してプロセスを停止します。

  • Sudo killcat /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は自動的に起動します。

2
Pankaj Sonawane

このスクリプトを使用して、助手席のnginxを開始します。

http://library.linode.com/development/frameworks/Ruby/ruby-on-Rails/nginx-ubuntu-8.04-hardy

1
rodreegez

このリンクを確認してください:

https://github.com/JasonGiedymin/nginx-init-ubunt

これらは、ubuntuで実行するnginx init.dスクリプトを提供します。

1
hdanniel

参考のために、私は http://library.linode.com/frameworks/Ruby-on-Rails-nginx/ubuntu-10.10-maverick でLinodeによって提供されたMaverickの指示とスクリプトに従いました

0
S.R. Pouyet