nginx 및 승객을 설치하고 실행할 수 있었지만 서버를 재부팅 할 때마다 nginx를 사용할 수 없습니다. nginx 프로세스를 시작하려면 sudo / opt / nginx / sbin / nginx를 입력하십시오 . 내 이해에서 우분투 hardy와 함께 /etc/init.d에 넣은 모든 것이 실행됩니다. 누구나이 명령 줄 호출을 모방 할 명령을 알고 있습니까?
sudo / opt / nginx / sbin / 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를 설치했다고 가정합니다.
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
그들은 우분투에서 실행할 nginx init.d 스크립트를 제공합니다.
참조 : 방금 Linode가 http://library.linode.com/frameworks/ruby-on-rails-nginx/ubuntu-10.10-maverick 에서 제공 한 Maverick에 대한 지침과 스크립트를 따랐습니다.