Назад | Перейти на главную страницу

Основные вопросы по развертыванию: CherryPy в Ubuntu

У меня в разработке скромное приложение CherryPy / SQLite. Я бы хотел поставить его на сервер в облаке для тестирования клиента. С этой целью я создал небольшой экземпляр Ubuntu в Rackspace и выполнил предварительную установку (инструменты настройки и CherryPy).

Не будучи ни администратором, ни особенно знаком с Linux, у меня есть несколько довольно простых вопросов о развертывании этого приложения, на которые я не смог ответить с помощью Google:

  1. Я предполагаю, что мне следует создать учетную запись пользователя специально для запуска приложения, а не использовать root или любую другую существующую учетную запись?

  2. Я не уверен, куда мне пересаживать папки с приложениями. Я предполагаю, что они должны войти в / usr / user-I-created-question-1 /. Это правильно?

  3. Я использую сервер CherryPy, которого мне кажется достаточно для этого приложения. Правильный ли подход - запустить приложение в сеансе замазки, а затем убить сеанс замазки на моем компьютере с Windows?

  4. Помимо посещения сайта, какие существуют инструменты или методы для отслеживания времени безотказной работы или для определения того, стал ли сервер недоступным?

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

Куда вы его положили? Вероятно, в подкаталоге домашнего каталога этого пользователя, например "/ home / username / mywebapp".

Вы, вероятно, захотите запустить "screen" (apt-get install, если его там нет) и запустить веб-приложение под ним. Вы можете повторно присоединиться с помощью «screen -x» и отсоединиться от него с помощью «Control-A COntrol-D». Таким образом, он не умрет, когда вы отключитесь.

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

  • Используя mod_wsgi.
  • Создайте файл в /etc/apache2/conf.d с именем вашего приложения.

Он должен содержать:

WSGIPythonPath /path/to/webapp/root
WSGIScriptAlias /appname /path/to/webapp/root/controller.py
  • В этом случае ваше веб-приложение будет в файле «controller.py». «/ Appname» - это часть URL-адреса, по которому осуществляется доступ к этому приложению, например: http://127.0.0.1/appname
  • Тогда это веб-приложение должно быть приложением WSGI, например, оно должно заканчиваться на:

Пример WSGI:

cfg = config()
cherrypy.config.update()
application = cherrypy.APplication(None, script_name = '/appname', config = cfg)

Ключевым моментом является то, что вам необходимо создать объект «приложение» в вашем контроллере.

После этого вы сможете перезапустить Apache (/etc/init.d/apache2 restart), а затем получить доступ к веб-приложению по этому URL-адресу.