2016-04-25 3 views
0

Ich möchte, dass mein Logikserver (Python3 + Django + uwsgi + nginx) automatisch startet, wenn Ubuntu-Server gestartet oder neu gestartet wird. Also schreibe ich ein Skript zum Ausführen (uwsgi --ini=/data/xxx.ini) und füge es zu /etc/rc.local hinzu.Django Server Autorun wenn Ubuntu Start oder Neustart?

Dann habe ich neu starten Server, Logik-Server läuft, Aber wenn Programm Druckprotokoll-Datei, Ausnahme python3 Wurf:

Traceback (most recent call last): 
    File "/usr/lib/python3.4/logging/handlers.py", line 73, in emit 
    logging.FileHandler.emit(self, record) 
    File "/usr/lib/python3.4/logging/__init__.py", line 1041, in emit 
    StreamHandler.emit(self, record) 
    File "/usr/lib/python3.4/logging/__init__.py", line 984, in emit 
    self.handleError(record) 
    File "/usr/lib/python3.4/logging/__init__.py", line 915, in handleError 
    traceback.print_stack(frame, file=sys.stderr) 
    File "/usr/lib/python3.4/traceback.py", line 286, in print_stack 
    print_list(extract_stack(_get_stack(f), limit=limit), file=file) 
    File "/usr/lib/python3.4/traceback.py", line 30, in print_list 
    print(item, file=file, end="") 
UnicodeEncodeError: 'ascii' codec can't encode characters in position 95-100: ordinal not in range(128) 
Call stack: 
    File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/wsgi.py", line 177, in __call__ 
    response = self.get_response(request) 
    File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/base.py", line 147, in get_response 
    response = wrapped_callback(request, *callback_args, **callback_kwargs) 
    File "./carwashing/views/decorators.py", line 65, in _require_login_release 
    json_resp = views(request, user=token_cache.employee, *args, **kwargs) 

Wenn ich uwsgi im manuellen Start direkt, es funktioniert gut.

+0

sollten Sie verwenden [Supervisor] (http://supervisord.org/) dafür. –

Antwort

0

Sie haben eine .sh Datei mit virtuellen activate Code

#!/bin/bash 
clear 
cd /path/to your/virtual environment #path to your virtual environment 
. bin/activate #Activate your virtual environment 
cd /path/to your/project directory 
python manage.py runserver #run django server 

dann schreiben einen Neustart Cron-Job für diese .sh-Datei zu schreiben, wird es für Sie arbeiten.

prüfen diese link für mehr Details ..