parando fastcgi-mono-server graciosamente, atualizando o conteúdo do site sem necessidade de reiniciá-lo

4

Eu tenho jogado muito recentemente com o Mono 2.10.5 com o .NET 4 e o MVC 3 com visualizações de navalha. Agora estou hospedando meu site com nginx e fastcgi-mono-server4 configurado. Embora o site ainda não seja conhecido publicamente (e não será até que atinja um estado desejável), estamos testando por muitos dias e as coisas parecem estar indo muito bem até agora.
Então, dado o contexto, vamos às perguntas que me deixam insano algumas vezes:

  1. Posso atualizar o conteúdo do meu site (dll, por exemplo) sem ter que reiniciar o processo fastcgi com segurança? Existe uma possibilidade de falha momentânea para meus visitantes quando estou fazendo isso?
  2. Como posso, graciosamente, parar o fastcgi-mono-server? Eu peguei o script de inicialização do link como base, mas ele apenas mata (envia SIGTERM) o processo fastcgi-mono-server, não chamando Application_End em Global.asax (e é isso que eu quero dizer com desligamento inadequado). O SIGHUP também não funciona (embora também mate o servidor)

Além disso, não consigo encontrar uma página para acompanhar as notícias ou o estado do mono-fastcgi-server, as únicas referências que me ensinaram como configurar o servidor e o funcionamento básico dele, mas não tenho IDEA onde procurar novas versões e changelogs (ou até mesmo uma página de download, até agora eu tenho usado o portage para instalar o pacote xsp, que vem com o fastcgi-mono-server). Eu encontrei o link mas o último post no fastcgi-mono-server é tão antigo que me assusta.

Se eu puder fazer uma última pergunta, como posso executar o fastcgi-mono-server como um usuário sem privilégios? Eu estou com medo de tentar setuid o processo, desde que eu não tenho certeza se mono vai respeitar o sinalizador setuid (ainda não tentei) e mais importante, não tenho certeza se fastcgi-mono-servidor precisa de raiz acesso em algum momento para definir as coisas. Estou profundamente inclinado a tentar algo nessa linha, mas como não consigo encontrar nenhum documento sobre o assunto, ainda não fiz nada. Obviamente, estou bastante desesperado, já que o servidor está rodando como root !!

Obrigado antecipadamente!

    
por Marcelo Zabani 12.11.2011 / 04:40

1 resposta

2

Estou começando também uma nova aventura com muito similar e compartilhamos preocupações semelhantes sobre isso. Vamos falar mais;)

Tentarei responder evitando novas perguntas, mas não garantidas:

  1. Acho que, para tentar, pode ser feito de forma semelhante quando você atualiza em um cenário de implantação regular do IIS. A Noções básicas sobre a compilação dinâmica do ASP.NET pode ajudar a entender melhor isso. Atualizações de efeitos colaterais sempre pode ser minimizado e tudo depende das suas necessidades.
  2. É possível ter várias instâncias de fastcgi-mono-servidor rodando, ainda investigando alguns detalhes de detalhes, escutando em diferentes portas internas. Eu consegui fazer isso, mas preciso de mais testes.

Outras 2 perguntas ...

Eu também não encontrei muitas notícias e documentações sobre o assunto, mas estou usando fastcgi-mono-server, fastcgi-mono-server2 e fastcgi-mono-server4 sem nenhum problema e, como você, eu tenho mono 2.10.5. Considere-se como um aventureiro no mundo asp.net + mono. Tentarei blogar mais sobre minhas descobertas para contribuir com uma discussão mais ampla.

O AFAIK fastcgi-mono-server não precisa ser executado como usuário privilegiado, ou seja, o acesso root não deve ser necessário. Eu também estou investigando mais sobre o nível de segurança, porque no nível de implantação / executando meus aplicativos agora sinto que cheguei a uma solução estável.

Espero que isso possa trazer alguma luz para a sua dúvida ... e minha.

    
por 14.11.2011 / 12:35