Estou assumindo um projeto de uma colega de trabalho que saiu recentemente. Eu vou estar trabalhando sozinho em um site que é executado no asp.net através de mono em um servidor xsp4. Eu sou novo no linux e no framework ASP.NET, então vou tentar explicar as coisas da melhor maneira possível. Para fazer as coisas, eu ssh no servidor e mudo para o diretório do projeto. A partir daqui eu uso o git para puxar novas alterações. Em seguida eu uso:
screen (or screen -r if one is already running)
e execute / reinicie o servidor:
sudo xsp4 --port 80
Eu saí ontem à noite com tudo em ordem e funcionamento, mas quando visitei o site hoje pela manhã, recebi um erro 403 de acesso proibido no navegador. Eu não mudei permissões ou editei arquivos.
Eu decidi usar ssh in e screen -r para parar o servidor, mas ele disse que não há tela para ser retomada. Em uma nova tela, tentei executar o servidor, mas recebi este erro:
w@c:~/CRIME/CP-Web-l> sudo xsp4 --port 80
xsp4
Listening on address: 0.0.0.0
Root directory: /home/webmaster/CRIME/CP-Web-l
Error: System.Net.Sockets.SocketException: Address already in use
at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x00000] in <filename unknown>:0
at Mono.WebServer.XSPWebSource.CreateSocket () [0x00000] in <filename unknown>:0
at Mono.WebServer.ApplicationServer.Start (Boolean bgThread) [0x00000] in <filename unknown>:0
at Mono.WebServer.ApplicationServer.Start (Boolean bgThread, System.Exception initialException) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) Mono.WebServer.ApplicationServer:Start (bool,System.Exception)
at Mono.WebServer.XSP.Server.RealMain (System.String[] args, Boolean root, IApplicationHost ext_apphost, Boolean quiet) [0x00000] in <filename unknown>:0
Eu não entendo como ele poderia estar em uso se não houvesse uma tela em execução. Eu também não tenho certeza de como a tela desapareceu durante a noite. É possível que tenha havido um acidente?
Através de googling eu encontrei este post que tinha um problema semelhante, link , que deu 3 soluções. Não acho que o xsp ainda esteja em execução, mas não tenho 100% de certeza sobre como verificar. Eu pensei que desde que a tela não foi encontrada, o xsp não estava mais rodando. O diretório não é um diretório raiz de outro servidor. Um erro seria lançado se o xsp não conseguisse encontrar os assemblies necessários no caminho mono?
Eu reverti o projeto de volta para uma versão anterior e os mesmos erros ainda existem.
Esses dois problemas estão conectados? Se houver alguma informação que eu não forneça que seria útil, por favor me avise. Obrigado!
Editar (12 de maio de 13:48):
Pelo que entendi, essas são as coisas que escutam a porta 80, mas não tenho certeza do que são:
w@c:~/CRIME/CP-Web-l> sudo lsof -i:80 -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd2-pr 1324 root 4u IPv4 10644 0t0 TCP *:80 (LISTEN)
httpd2-pr 1795 wwwrun 4u IPv4 10644 0t0 TCP *:80 (LISTEN)
httpd2-pr 1796 wwwrun 4u IPv4 10644 0t0 TCP *:80 (LISTEN)
httpd2-pr 1798 wwwrun 4u IPv4 10644 0t0 TCP *:80 (LISTEN)
httpd2-pr 1799 wwwrun 4u IPv4 10644 0t0 TCP *:80 (LISTEN)
httpd2-pr 1800 wwwrun 4u IPv4 10644 0t0 TCP *:80 (LISTEN)
httpd2-pr 3314 wwwrun 4u IPv4 10644 0t0 TCP *:80 (LISTEN)