위의 문제를 해결하기 위해 Forever Plus 스타트 업 스크립트를 사용할 수 있습니까? 대답은 물론 그렇습니다. 그러나 약간 번거롭고 공무원은 영원히 세부 구성 문서가 부족합니다. 또한 구성 할 때 우회를 했으므로 아래에 자세한 내용을 살펴 보겠습니다.
참고 :이 기사의 실험 환경은 Ubuntu Server 12.04 LTS X86_64이며 CentOS의 구성이 더 간단합니다.
처음에는 /etc/rc.local에 영원히 시작한 xxx를 추가하는 것에 대해 생각했지만 Ubuntu (다른 시스템과 동일)가 나에게 나쁘지 않다는 것을 알았습니다. 주요 모순은 MongoDB 가이 방법을 사용하여 실행할 수 있지만 영원히 할 수 없다는 것입니다. 절망적으로, 나는 /etc/init.d의 관점에서 그것을 고려해야한다.
전제는 먼저 영원히 만드는 것입니다. 이 방법은 매우 간단합니다. 다음 명령을 실행합니다.
NPM 영원히 설치 -g
설치가 완료되면 간단한 노드 프로그램을 사용하여 테스트하십시오.
Forever Start Test.jsforever stop test.jsforever 재시작 test.js
오류가 표시되지 않는 한, 영원히 사용 가능하다는 것을 의미합니다. 즉, 백그라운드에서 노드 프로젝트를 열기 위해 Forever를 사용하는 기본 조건은 이미 충족되었으며 나머지는 시작 스크립트를 작성하는 것입니다.
스크립트의 기본 내용은 그의 노력에 대한 원래 저자 덕분에 다음과 같습니다.
#!/bin/bash ### 시작 init info# 제공 : xiyoulib# 필수 시작 : $ all# required-stop : $ all# default-start : 2 3 4 5# default-stop : 0 1 6# short-description : 부팅 시간에 데몬 시작# 설명 : ### 끝 정보# chkconfig : 345 8# 영원히 node.jsdeamon =/node.js/xiyoulibnodeexpress/bin/www #자신의 노드 프로젝트의 시작 스크립트 파일을 작성해야합니다. 프로젝트 로그 =/node.js/log/log #og #og #og #og #og #og #og #required 컨텐츠, 영원히 Export Path의 프로세스를 녹음하는 데 사용됩니다. #노드 실행 프로그램 설치 디렉토리는 여기에서/usr/local/binexport node_path = $ node_path :/usr/locr/lib/node_modules #here는 노드 클래스 라이브러리의 경로입니다. 정지) $ Forever Stop -Pidfile $ pid $ Deamon ;; 정지) $ 영원한 중지 -pidfile $ pid ;; RETARTALL) $ FOREVER RORKARTALL --PIDFILE $ PID ;; Reload | Restart) $ Forever Restart -l $ log --pidfile $ pid -a $ deamon ;; 목록) $ 영원한 목록 ;; *) echo "usage : /etc.init.d/node {start | stop | 다시 시작 | Reload | stopall | list}"Exit 1 ;; esac다음은 알림입니다. /node.js와 같은 노드 프로젝트의 루트 디렉토리에 디렉토리를 작성한 다음 허가를 754로 설정하여 일부 권한 문제로 인한 문제를 피할 수 있습니다!
Ubuntu 서버 시스템을 사용하기 때문에 MongoDB 스타트 업 서비스도 구성되며 다음 문장이 init.d 스크립트에 추가됩니다.
# 필수 시작 : $ all# 필수 스톱 : $ 모두
따라서 나중에 직접 추가하면 시스템이 오류가 발생합니다. 따라서 노드 프로젝트의 시작 스크립트에서 Ubuntu 서버 시스템에 대한 이전 설명 설명을 추가하여 설정했습니다. Centos에있는 경우 비슷한 문제가 발생하지 않아야합니다. 이것에 특별한주의를 기울이십시오!
즉, 다음과 같은 설명 정보입니다.
### 시작 정보# 제공 : xiyoulib# 필수 시작 : $ all# request-stop : $ all# default-start : 2 3 4 5# 기본-스톱 : 0 1 6# 짧은 설명 : 부팅 시간에 데몬 시작# description : ### end init infor.
스크립트를 편집 한 후 chkconfig-list 지시문을 사용하여 추가 한 서비스가 효과적인지 확인하십시오.
3과 5가 켜져 있지 않은 경우 chkconfig -level 35 [서비스 이름]을 실행하십시오. Ubuntu 서버는 일부 경고를보고 할 수 있지만 필요한 서비스의 3과 5가 변경 될 수있는 한 다른 오류는 무시할 수 있습니다 (이것이 시스템 자체 비즈니스라고 생각합니다).
설정이 완료되면 Linux에서 노드 프로젝트를 시작할 수 있습니다. 셧다운 할 수 있습니다. 이제 시작할 수 있는지 확인하십시오. 시작한 후 설정 한 포트 번호 및 가상 디렉토리에 직접 액세스 할 수 있습니다. 원한다면 작업이 완료됩니다!
그러나 잘못된 경우 일부 스크립트를주의 깊게 확인하고 오류에 따라 관련 수정을하십시오. 결국, 나는 또한 그것을 시도했다!