[server] 시작시 Nginx 시작

nginx 및 승객을 설치하고 실행할 수 있었지만 서버를 재부팅 할 때마다 nginx를 사용할 수 없습니다. nginx 프로세스를 시작하려면 sudo / opt / nginx / sbin / nginx를 입력하십시오 . 내 이해에서 우분투 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/rc2.d/ 폴더의 모든 스크립트 실행을 완료 한 후 실행되는 명령을 /etc/rc.local 스크립트에 넣을 수 있습니다.


답변

부팅시 nginx를 시작하려면 : sudo systemctl enable nginx (즉시 시작하지는 않음)

nginx를 시작하려면 : sudo system start nginx


답변

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가 자동으로 시작됩니다.


답변

이 스크립트를 사용하여 승객 지원 nginx를 시작합니다.

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


답변

이 링크를 확인하십시오 :

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

그들은 우분투에서 실행할 nginx init.d 스크립트를 제공합니다.


답변

참조 : 방금 Linode가 http://library.linode.com/frameworks/ruby-on-rails-nginx/ubuntu-10.10-maverick 에서 제공 한 Maverick에 대한 지침과 스크립트를 따랐습니다.