0

我有一个要部署的 django 应用程序。我想使用 upstart 来运行应用程序。

到目前为止,我已将 upstart.conf 文件添加到 /etc/init

并尝试使用

start upstart

但我得到的只是

start: Rejected send message, 1 matched rules; type="method_call", sender=":1.90" (uid=1000 pid=5873 comm="start upstart ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

.conf 文件的内容是:

# my upstart django script
# this script will start/stop my django development server
# optional stuff
description "start and stop the django development server"
version "1.0"
author "Calum"


# configuration variables.
# You'll want to change thse as needed
env DJANGO_HOME=/home/django/django-nexus7/nexus7
env DJANGO_PORT=8000
env DJANGO_HOST=0.0.0.0 # bind to all interfaces

# tell upstart we're creating a daemon
# upstart manages PID creation for you.
#expect fork

pre-start script
chdir $DJANGO_HOME
exec /usr/bin/python rm sqlite3.db
exec /usr/bin/python manage.py syncdb
exec /usr/bin/python manage.py loaddata fixtures/data.json
emit django_starting
end script

script
# My startup script, plain old shell scripting here.
chdir $DJANGO_HOME
exec /usr/bin/python manage.py run_gunicorn -c config/gunicorn
#exec /usr/bin/python manage.py runserver $DJANGO_HOST:$DJANGO_PORT &
# create a custom event in case we want to chain later
emit django_running
end script

我也尝试过使用更简单的 .conf 文件,但或多或​​少出现了相同的错误。如果有人能告诉我我做错了什么,我将不胜感激

4

1 回答 1

2

Upstart 作业只能由 root 启动,如果您尝试以普通用户身份启动,则会出现该错误。尝试这个:

sudo start upstart
于 2013-02-20T18:46:06.597 回答