2017-10-24 32 views
0

나는 잠깐 동안 Ubuntu 16.01을 사용하여 파이썬 & Django Framework로 작업 해 왔습니다. Django를 Q system (Celery) 및 일부 다른 기능 향상 응용 프로그램과 함께 사용했기 때문에. 매번 모든 응용 프로그램을 실행하려고하면 개발 서버 "{python manage.py runserver}"를 실행 한 다음 셀러리 작업자 "{Celery -A filename worker -l info}"를 실행해야합니다. 일할 때마다 디렉토리에 들어가서 시작하는 데 몇 분이 걸립니다. 나는 서핑을하고 서비스로 설정한다는 아이디어를 생각해 낸다. 예 : 서비스 이름 : "pyd". "{sudo pyd start}"- Django Development Server와 Celery가 시작되고 "{sudo pyd stop}"을 실행하면 -> Django & 셀러리가 중지됩니다.Ubuntu 서비스 Upstart 또는 SystemD, 서비스로 장고 개발 서버

나는 주위를 둘러 보려고하고, "Upstart"와 "Systemd"사이에서 일이 혼란 스럽다.

나는 장고와 셀러리를 우분투에서 실행하는 서비스로 만드는 방법을 제안 할 수 있습니까? "Upstart"사이 & "Systemd"어느 것이 더 낫습니다 ??

샘플을 나타내는 소스 코드는 높이 평가됩니다.

감사합니다.

+0

check [immortal] (https://immortal.run) – nbari

답변

0

업 스타트를 사용하면이 작업을 수행 할 수 있습니다.

설치 후 /etc/init/ 디렉토리로 이동하십시오. 파일 xyz.conf을 작성하고 라인 추가 : 당신이 VIRTUALENV를 사용하는 경우

cd /path/to/your/manage.py/file 
exec python manage.py runserver & celery -A filename worker -l info 

, 위하기 전에 다음 줄을 추가

pre-start script 
    #activate virtual environment 
    source env-name/bin/activate 
end script 

을 지금을, 당신은 장고 데브 서버와 셀러리를 시작할 수 있습니다 sudo start xyz 명령을 실행하여 서비스를 실행하고 sudo stop xyz을 발행하고 서비스를 종료 한 후 sudo status xyz을 발행하여 서비스를 중지하십시오.

xyz.conf/var/log/upstart/xyz.log에 로그인합니다. 다음 명령을 사용하여 로그를 볼 수 있습니다 : sudo tail -f /var/log/upstart/xyz.log.

+0

나는 이미 당신이 말한 것을 시도합니다. 여전히 작동하지 않습니다. {{sudo start x1}} 터미널을 검사하려고합니다. "작업을 시작하지 못했습니다." "init-checkconf x1"구문을 확인하려고합니다. 구문은 정상입니다. 구문 –

+0

내용 : CHDIR 데스크탑/NewFolder 간부 파이썬의 runserver 나는 "CD"쇼 오류 때문에 "CHDIR"를 사용 관리 할 수 ​​있습니다. –

+0

당신의 Upstart 설치가 정확합니까? http://upstart.ubuntu.com/getting-started.html –

0

당신은 설정 셀러리는 데몬 서비스로의 아래 단계를 따를 수

1 단계 : 셀러리 init 스크립트

복사 디렉토리 /etc/init.d/celeryd이 script 파일 (celeryd 것 서비스 이름이면 아무 것도 지정할 수 있습니다)

위의 소스에서이 설정 방법을 설명합니다.

2 단계 : 셀러리 구성을 설정하면

이제이 파일은/etc/기본/celeryd에 셀러리 구성을 구성,이 example 당신에게 일반적인 구성 파일을 제공 할 것입니다.

이제 다음 명령

sudo service celeryd start 

sudo service celeryd stop 

또는 기타 서비스 명령과 서비스로 셀러리를 실행할 수 있습니다.

+0

답변 해 주셔서 감사합니다. –

+0

정말 도움이되었지만 어쨌든, 앱 서비스를 만들기 위해 Ubuntu Upstart를 사용해 본 적이 있습니까? 난 장고로 일하고, 그냥 명령 줄 입력하여 서비스로되고 싶어 : "sudo 시작 djservice"-> 다음 Django 시작, "파이썬 manage.py runserver"입력 할 필요없이 –