У меня в разработке скромное приложение CherryPy / SQLite. Я бы хотел поставить его на сервер в облаке для тестирования клиента. С этой целью я создал небольшой экземпляр Ubuntu в Rackspace и выполнил предварительную установку (инструменты настройки и CherryPy).
Не будучи ни администратором, ни особенно знаком с Linux, у меня есть несколько довольно простых вопросов о развертывании этого приложения, на которые я не смог ответить с помощью Google:
Я предполагаю, что мне следует создать учетную запись пользователя специально для запуска приложения, а не использовать root или любую другую существующую учетную запись?
Я не уверен, куда мне пересаживать папки с приложениями. Я предполагаю, что они должны войти в / usr / user-I-created-question-1 /. Это правильно?
Я использую сервер CherryPy, которого мне кажется достаточно для этого приложения. Правильный ли подход - запустить приложение в сеансе замазки, а затем убить сеанс замазки на моем компьютере с Windows?
Помимо посещения сайта, какие существуют инструменты или методы для отслеживания времени безотказной работы или для определения того, стал ли сервер недоступным?
Вы знаете, если это только для тестирования в течение ограниченного времени, это, вероятно, нормально работает, как вы говорите. Хотя, вероятно, в таких обстоятельствах также нормально работать от имени любого пользователя. Вероятно, лучше всего создать непривилегированного пользователя и запустить его под этим.
Куда вы его положили? Вероятно, в подкаталоге домашнего каталога этого пользователя, например "/ home / username / mywebapp".
Вы, вероятно, захотите запустить "screen" (apt-get install, если его там нет) и запустить веб-приложение под ним. Вы можете повторно присоединиться с помощью «screen -x» и отсоединиться от него с помощью «Control-A COntrol-D». Таким образом, он не умрет, когда вы отключитесь.
Однако способ я сделал бы это, чтобы запустить его под Apache, поэтому Apache запускает и останавливает приложение. Затем он также запускается под пользователем Apache, что может быть хорошо или плохо, но обычно хорошо. Обычно это включает:
Он должен содержать:
WSGIPythonPath /path/to/webapp/root
WSGIScriptAlias /appname /path/to/webapp/root/controller.py
Пример WSGI:
cfg = config()
cherrypy.config.update()
application = cherrypy.APplication(None, script_name = '/appname', config = cfg)
Ключевым моментом является то, что вам необходимо создать объект «приложение» в вашем контроллере.
После этого вы сможете перезапустить Apache (/etc/init.d/apache2 restart), а затем получить доступ к веб-приложению по этому URL-адресу.