我正在为我的网站使用Plone当我尝试运行以下命令时会出现错误: Plone / zinstance $ bin / instance fg
跟踪(最近一次呼叫最后一次):
File "/Plone/zinstance/parts/instance/bin/interpreter", line 297, in <module>
exec(compile(__file__f.read(), __file__, "exec"))
File "/Plone/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/run.py", line 76, in <module>
run(/Plone/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/run.py", line 22, in run
starter.prepare()
File "/home/turningcloud/Plone/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/__init__.py", line 79, in prepare
self.setupServers()
File "/Plone/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/__init__.py", line 214, in setupServers
% (server.servertype(),e[1]))
ZConfig.ConfigurationError: There was a problem starting a server of type "HTTPServer". This may mean that your user does not have permission to bind to the port which the server is trying to use or the port may already be in use by another application. (Address already in use)
答案 0 :(得分:5)
如果您没有更改Plone配置,它会尝试绑定到端口8080.错误消息表明该端口已在使用中。
最常见的原因是这个或另一个Plone实例正在使用该端口。如果你没有安装另一个Plone,那么它可能是当前的Plone安装,Plone守护进程作为后台进程运行。尝试使用bin/instance stop
。
如果这不起作用并且这是您控制的开发机器,您可能希望只是重新启动它。否则,使用操作系统的进程监视机制(Linux系统上的ps aux | grep python
)来确定Plone是否已在运行。如果是这样,请终止该过程。
Plone不是唯一使用8080作为默认端口的软件包。如果上述操作失败,请使用网络监视程序(Linux系统上的netstat或sockstat)来跟踪侦听端口的其他进程。更改其配置或Plone's。
答案 1 :(得分:1)
sudo netstat -lnap | grep 8080
检查哪个进程正在使用端口8080并使用&#34; kill&#34;命令杀死它然后再次重新启动它。
答案 2 :(得分:1)
我遇到了同样的错误。我从这篇文章http://plone.293351.n2.nabble.com/Address-Already-in-Use-error-td328781.html
中得到了一些提示我回到了我的命令,看到我在sudo中使用了错误的用户命令。
sudo -u plone_daemon bin / instance fg ---错误的命令
sudo -u [Change_user_respectively] bin / instance fg - 它对我有用。