Questões básicas de implantação: CherryPy no Ubuntu

1

Eu tenho um aplicativo CherryPy / SQLite modesto em desenvolvimento. Eu gostaria de colocá-lo em um servidor na nuvem para o teste do cliente. Para esse fim, criei uma pequena instância do Ubuntu na Rackspace e fiz algumas instalações preliminares (setup-tools e CherryPy).

Não sendo um administrador ou particularmente familiarizado com o Linux, tenho algumas perguntas bastante simples sobre como implantar este aplicativo que não consegui responder usando o Google:

  1. Suponho que devo criar uma conta de usuário especificamente para executar o aplicativo, em vez de usar root ou qualquer outra conta existente?

  2. Não tenho certeza de onde devo transplantar minhas pastas de aplicativos. Eu estou supondo que eles devem ir em / usr / user-I-created-question-1 /. Isso está correto?

  3. Estou usando o servidor CherryPy, que parece ser suficiente para minhas necessidades para este aplicativo. A abordagem correta para iniciar o aplicativo em uma sessão de putty, em seguida, mata a sessão putty em minha máquina Windows?

  4. Além de visitar o site, quais ferramentas ou técnicas existem para monitorar o tempo de atividade ou para saber se o servidor ficou indisponível?

por Larry Lustig 18.10.2011 / 03:16

1 resposta

2

Você sabe, se for apenas para testes por um tempo limitado, provavelmente está funcionando bem do jeito que você está falando. Embora provavelmente também seja bom, nessas circunstâncias, executar como qualquer usuário. Provavelmente, é melhor criar um usuário não privilegiado e executá-lo com isso.

Onde você coloca? Provavelmente em um subdiretório do diretório inicial dos usuários, como "/ home / username / mywebapp".

Provavelmente você desejará executar a "tela" (apt-get install it, se não estiver lá), e executar o web-app abaixo dele. Você pode anexar novamente com "screen -x" e pode separar-se dele com "Control-A COntrol-D". Dessa forma, não vai morrer quando você se desconectar.

No entanto, a maneira que o I faria é executá-lo com o Apache, então o Apache inicia e interrompe o aplicativo. Ele também é executado sob o usuário Apache, o que pode ser bom ou ruim, mas geralmente é bom. Normalmente, isso envolveria:

  • Usando mod_wsgi.
  • Crie um arquivo em /etc/apache2/conf.d com o nome do seu aplicativo.

Ele deve conter:

WSGIPythonPath /path/to/webapp/root
WSGIScriptAlias /appname /path/to/webapp/root/controller.py
  • Nesse caso, seu webapp estaria no arquivo "controller.py". O "/ appname" é a parte do URL que acessa este aplicativo, por exemplo: link
  • Esse webapp precisa ser um aplicativo WSGI, por exemplo, deve terminar com:

Exemplo do WSGI:

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

O principal é que você precisa criar um objeto "aplicativo" no seu controlador.

Uma vez que você fizer isso, você deve ser capaz de reiniciar o Apache (/etc/init.d/apache2 restart) e então acessar o webapp através desse URL.

    
por 18.10.2011 / 06:14