2016-11-18 8 views
2

Каждый раз, когда я обновляю свой файл Python, я должен перезагрузить сервер, чтобы увидеть изменения. Я попытался перезапустить Nginx и uWSGI без везения. Флажок работает в режиме отладки. Как просмотреть изменения без перезагрузки всего сервера?Приложение Nginx, uWSGI, Flask не показывает изменений до перезапуска сервера

app.py

from flask import Flask 
import time 
import cv2 

app = Flask(__name__) 

@app.route("/") 
def main(): 
    return "Hello cob at " + time.time().__str__() + "\n" 

if __name__ == "__main__": 
    app.run(debug=True) 

uwsgi.ini

[uwsgi] 
socket = :9090 
plugin = python 
wsgi-file = /home/vagrant/PythonVision/app.py 
process = 3 
callable = app 

nginx.conf

server { 
    location/{ 
    include uwsgi_params; 
    uwsgi_pass 127.0.0.1:9090; 
    } 
} 

Я проверяю это с этими шагами:

  • изменить ответное сообщение от «Hello початков» на «привет боб», не сохранить файл
  • Обновить страницу в браузере (очистить кэш браузера) Без изменений
  • ли перезагрузка uwsgi Судо сервиса, Судо сервис Nginx перезапустить
  • Обновить страницу в браузере (очистить кэш браузера) Без изменений
+1

Я не могу воспроизвести вашу проблему. Перезапуск uWSGI загружает новый код приложения. Пожалуйста, [править], чтобы включить [mcve]. – davidism

+0

Я подозреваю, что что-то не так с вашей конфигурацией uWSGI или nginx. Вы можете увидеть, есть ли журнал ошибок при перезагрузке uWSGI и nginx? – dvnguyen

+0

Если возникла проблема, почему перезапуск будет отображаться как статус справа? Плюс, тогда он не сможет отобразить какой-либо контент? – Burf2000

ответ

1

Таким образом, один способ, которым я удосужился это сделать это в моем uwsgi.ini файле

сенсорный перезарядку = /home/vagrant/PythonVision/app.py

Затем я потрогать файл приложения .py и BANG отсортированы

+0

Так что прикоснуться к перезагрузке, но на самом деле перезагрузка uwsgi нет? Это не имеет смысла. – davidism

+0

Полностью согласен с вами, на mac у меня нет проблем, сэкономить мгновенно, похоже, обновить? Очень странно, но это исправляет это. – Burf2000

1

Чтобы действительно запустить приложение опоки в режиме отладки, вы запустите эту команду:

python /home/vagrant/PythonVision/app.py

Тогда вы можете перейти в браузер: http://ip:5000/.

Поскольку я знаю, что вы используете это на бродяге, ip может быть определен вашими конфигами, но это выходит за рамки этого вопроса.

+0

Это не похоже на то, о чем спрашивает этот вопрос. Они говорят, что им нужно перезагрузить машину, чтобы увидеть изменения, а не то, что они не знают, как запустить свое приложение. – davidism

+1

Но если они запускают его через некоторый сервер WSGI, он очень хорошо может не обновиться. Запуск в режиме отладки автоматически перезагрузит новые исходные файлы. –

+0

Они уже сказали, что попытались перезапустить uWSGI. Они сказали, что единственное, что сработало, - это перезагрузить весь сервер. Да, запуск этого совершенно другого способа может сделать что-то другое, но на самом деле он не отвечает на вопрос. Кроме того, запуск dev-сервера в производстве - ужасная идея, режим отладки или нет. – davidism