“xsp4 地址已被使用”和“禁止访问”

“xsp4 地址已被使用”和“禁止访问”

我正在接手一位最近离职的同事的一个项目。我将独自开发一个通过 xsp4 服务器上的 mono 在 ASP.NET 上运行的网站。我对 Linux 和 ASP.NET 框架还不熟悉,所以我会尽力解释清楚。为了让一切顺利进行,我通过 ssh 进入服务器并切换到项目的目录。从这里我使用 git 来提取任何新的更改。接下来我使用:

screen (or screen -r if one is already running) 

并通过以下方式运行/重新启动服务器:

sudo xsp4 --port 80

昨晚我离开时一切正常,但今天早上我访问该网站时,浏览器出现错误 403 访问被禁止。我没有更改权限或编辑文件。

我决定通过 ssh 登录并使用 screen -r 来停止服务器,但它说没有要恢复的屏幕。在新屏幕中,我尝试运行服务器,但出现此错误:

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 

我不太明白如果没有屏幕运行,它怎么会派上用场。我也不知道屏幕怎么会在一夜之间消失。有没有可能是发生了崩溃?

通过谷歌搜索,我发现这个帖子也有类似的问题,http://www.ubuntufaqs.com/questions/432605/xsp4-address-already-in-use-error-cant-run-mono-application,给出了 3 个解决方案。我认为 xsp 不再运行,但我不确定如何检查。我认为由于未找到屏幕,所以 xsp 不再运行。该目录不是另一台服务器的根目录。如果 xsp 在 mono 路径中找不到所需的程序集,会抛出错误吗?

我将项目恢复到以前的版本,但同样的错误仍然存​​在。

这两个问题有关联吗?如果我没有提供一些有用的信息,请告诉我。谢谢!

编辑(5 月 12 日,下午 1:48):

据我所知,这些是监听端口 80 的东西,但我不确定它们是什么:

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)

答案1

因此,在几天无果之后,我决定让服务器管理员重新启动虚拟服务器。我又等了一天才再次尝试,幸运的是,现在一切似乎都正常了。如果您遇到与我类似的问题,祝您好运。

相关内容