我運行的CherryPy爲遠程Linux機器上一個Web服務器上運行2個CherryPy的實例。最終用戶通過互聯網訪問CherryPy實例提供的網站。到現在爲止還挺好。在同一臺機器
現在,我想有一個網站的開發版本,在同一臺機器上,但在不同的端口上運行,這樣我就可以開發並不會干擾督促網站測試。我需要在同一臺機器上進行開發,因爲它包含大量的數據,這些數據不適合移動到不同的機器上。
的開發實例的代碼是在不同的目錄下,當然,這樣我編輯的開發代碼,它不會觸發督促例如重載或以任何方式影響督促實例。
但是,如果配置我的dev的實例不同的端口督促實例上運行,並嘗試啓動dev的情況下,我得到:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 197, in publish
output.append(listener(*args, **kwargs))
File "/usr/lib/python2.7/dist-packages/cherrypy/_cpserver.py", line 151, in start
ServerAdapter.start(self)
File "/usr/lib/python2.7/dist-packages/cherrypy/process/servers.py", line 167, in start
wait_for_free_port(*self.bind_addr)
File "/usr/lib/python2.7/dist-packages/cherrypy/process/servers.py", line 410, in wait_for_free_port
raise IOError("Port %r not free on %r" % (port, host))
IOError: Port 8080 not free on '127.0.0.1'
無論是開發還是PROD實例中運行了端口8080. prod實例位於SSL(443)上,dev實例可以放在任意端口上(我們假設它位於98765上)。我沒有在任何配置文件的任何地方指定8080。所以,我沒想到那裏是端口衝突,但是,看起來,一個實例,CherryPy的產卵2 processes-我想有某種形式的親子關係 - 和過程的一個上localhost:8080
莫名其妙聽的。因爲這種情況發生在我嘗試啓動的兩個實例中,所以第二個無法啓動,因爲最終在8080上出現了這個衝突。
我試過了幾件事,例如關閉自動重新加載和超時監控,希望CherryPy不會啓動與8080相關的進程,但目前還沒有運氣。
在此先感謝您的幫助!
是否有在端口8080上運行的另一個進程? –
@sarah:謝謝你的幫助。根據netstat,機器上沒有任何8080上運行。 –
其實,如果我運行的nmap,它說的東西是在8080上運行:8080/TCP開放HTTP代理 –