2013-05-15 112 views
14

我有配置lighttpd運行的beaglebone。目前我有它運行在8080端口,它工作正常。除非我真的想在端口80上使用它。不幸的是,它不會在端口80上啓動,因爲它會失敗並報告端口已被使用。當我通過端口80上的HTTP訪問beaglebone時,我當然會看到beaglebone 101屏幕。如何釋放一個beaglebone上的端口80,以便我可以使用它?

This page暗示我運行了systemctl disable bone101.service但該服務甚至不存在於我的Angstrom版本中。我使用的是我從here獲得的Angstrom img,它是Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz

我目前所有的以下禁用的運行:

systemctl disable cloud9.service     
systemctl disable gateone.service     
systemctl disable bonescript.service    
systemctl disable bonescript-autorun.service  
systemctl disable avahi-daemon.service    
systemctl disable gdm.service  # this disables the Gnome desktop which is maybe irrelevant here, but saves a ton of memory 

但我仍然得到端口問題80

我知道,Node.js的是什麼服務了內容,但即使ps aux顯示node.js沒有運行(我可以終止它),似乎訪問端口再次調用node.js.

我該如何禁用80端口,以便我可以釋放它以供lighttpd使用?

以下是ps的輔助輸出完整:

root   1 0.2 1.0 4820 2684 ?  Ss 17:58 0:01 /sbin/init run_hardware_tests 
root   2 0.0 0.0  0  0 ?  S 17:58 0:00 [kthreadd] 
root   3 0.0 0.0  0  0 ?  S 17:58 0:00 [ksoftirqd/0] 
root   5 0.0 0.0  0  0 ?  S< 17:58 0:00 [kworker/0:0H] 
root   7 0.0 0.0  0  0 ?  S< 17:58 0:00 [kworker/u:0H] 
root   8 0.0 0.0  0  0 ?  S 17:58 0:00 [migration/0] 
root   9 0.0 0.0  0  0 ?  S 17:58 0:00 [rcu_bh] 
root  10 0.0 0.0  0  0 ?  S 17:58 0:00 [rcu_sched] 
root  11 0.0 0.0  0  0 ?  S 17:58 0:00 [watchdog/0] 
root  12 0.0 0.0  0  0 ?  S< 17:58 0:00 [khelper] 
root  13 0.0 0.0  0  0 ?  S 17:58 0:00 [kdevtmpfs] 
root  14 0.0 0.0  0  0 ?  S< 17:58 0:00 [netns] 
root  15 0.0 0.0  0  0 ?  S 17:58 0:00 [kworker/0:1] 
root  16 0.0 0.0  0  0 ?  S 17:58 0:00 [bdi-default] 
root  17 0.0 0.0  0  0 ?  S< 17:58 0:00 [kintegrityd] 
root  18 0.0 0.0  0  0 ?  S< 17:58 0:00 [kblockd] 
root  19 0.0 0.0  0  0 ?  S 17:58 0:00 [khubd] 
root  20 0.0 0.0  0  0 ?  S 17:58 0:00 [irq/86-44e0b000] 
root  21 0.0 0.0  0  0 ?  S 17:58 0:00 [kworker/u:1] 
root  26 0.0 0.0  0  0 ?  S 17:58 0:00 [irq/46-4819c000] 
root  35 0.0 0.0  0  0 ?  S< 17:58 0:00 [rpciod] 
root  37 0.0 0.0  0  0 ?  S 17:58 0:00 [khungtaskd] 
root  38 0.0 0.0  0  0 ?  S 17:58 0:00 [kswapd0] 
root  39 0.0 0.0  0  0 ?  S 17:58 0:00 [fsnotify_mark] 
root  40 0.0 0.0  0  0 ?  S< 17:58 0:00 [nfsiod] 
root  41 0.0 0.0  0  0 ?  S< 17:58 0:00 [crypto] 
root  44 0.0 0.0  0  0 ?  S< 17:58 0:00 [pencrypt] 
root  45 0.0 0.0  0  0 ?  S< 17:58 0:00 [pdecrypt] 
root  52 0.0 0.0  0  0 ?  S< 17:58 0:00 [OMAP UART0] 
root  54 0.0 0.0  0  0 ?  S< 17:58 0:00 [kpsmoused] 
root  66 0.0 0.0  0  0 ?  S< 17:58 0:00 [deferwq] 
root  67 0.0 0.0  0  0 ?  S 17:58 0:00 [kworker/u:2] 
root  68 0.1 0.0  0  0 ?  D 17:58 0:00 [mmcqd/0] 
root  71 0.0 0.0  0  0 ?  S< 17:58 0:00 [kworker/0:1H] 
root  72 0.0 0.0  0  0 ?  S 17:58 0:00 [jbd2/mmcblk0p2-] 
root  73 0.0 0.0  0  0 ?  S< 17:58 0:00 [ext4-dio-unwrit] 
root  81 0.6 2.0 260668 5212 ?  Ss 17:58 0:06 /lib/systemd/systemd-journald 
root  83 0.0 0.6 3732 1668 ?  Ss 17:58 0:00 /lib/systemd/systemd-udevd 
root  86 0.0 0.0  0  0 ?  S 17:58 0:00 [kworker/0:2] 
root  93 0.0 0.0  0  0 ?  S< 17:58 0:00 [krfcommd] 
root  164 0.0 0.4 3008 1196 ?  Ss 17:58 0:00 /usr/sbin/crond -n 
root  166 0.0 0.3 2464 916 ?  Ss 17:58 0:00 /usr/sbin/lighttpd -D -f /etc/lighttpd.conf 
root  167 0.0 0.8 5524 2260 ?  Ss 17:58 0:00 /usr/sbin/connmand -n 
root  169 0.0 0.5 3012 1332 ?  Ss 17:58 0:00 /bin/sh /usr/bin/g-ether-load.sh 
root  173 0.0 0.5 3056 1396 ?  Ss 17:58 0:00 /bin/sh /usr/bin/mysqld_safe 
root  175 0.0 0.4 2976 1156 ?  Ss 17:58 0:00 /lib/systemd/systemd-logind 
999  185 0.0 0.5 2840 1380 ?  Ss 17:58 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 
root  191 0.0 0.2 1992 724 tty1  Ss+ 17:58 0:00 /sbin/agetty --noclear tty1 38400 linux 
root  234 0.0 0.2 1992 712 ttyO0 Ss+ 17:58 0:00 /sbin/agetty -s ttyO0 115200 
root  335 0.0 0.0  0  0 ?  S 17:58 0:00 [flush-179:0] 
root  394 0.0 0.0  0  0 ?  S 17:58 0:00 [file-storage] 
root  407 0.0 0.2 2152 688 ?  S 17:58 0:00 /usr/sbin/udhcpd -f -S /etc/udhcpd.conf 
mysql  448 0.0 1.6 26604 4064 ?  Sl 17:59 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/mysql --user=mysql --log-error=/var/log/mysqld.err --pid-file=/var/lib/mysql/mysqld.p 
root  479 0.0 0.4 3564 1216 ?  Ss 17:59 0:00 /usr/bin/ntpd -p /run/ntpd.pid 
root  491 0.1 0.5 3028 1320 ?  Ss 18:03 0:00 /usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22 
root  492 0.0 0.6 3164 1688 pts/0 Ss 18:03 0:00 -sh 
root  508 0.0 0.0  0  0 ?  S 18:08 0:00 [kworker/0:0] 

此外,/etc/xinetd.conf文件相當貧瘠:

# Simple configuration file for xinetd 
# 
# Some defaults, and include /etc/xinetd.d/ 

defaults 
{ 


} 

includedir /etc/xinetd.d 

而且/etc/xinetd.d文件夾爲空。

我也試過使用netstat,但由於某種原因無法在beaglebone上提供-p開關,所以我沒有得到任何有關哪個進程負責的信息。

我可以從netstat的獲得最佳的輸出是netstat -nl | grep tcp這給:

tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:8080   0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:80    0.0.0.0:*    LISTEN 
tcp  0  0 :::53     :::*     LISTEN 

netstat -pinvalid option -- 'p'

+0

它可以通過''inetd''啓動 - 你在/'/'/ etc/xinetd.d'''中看到任何node.js相關的內容 – doublesharp

+1

這也可能更適合http:// serverfault .com/ – doublesharp

+0

@doublesharp,我添加了關於我的xinetd.d的詳細信息。它是空的。 – Octopus

回答

22

我找到了解決辦法,最後。 祕密是也禁用插座以及服務

systemctl disable bonescript.service    
systemctl disable bonescript.socket 
systemctl disable bonescript-autorun.service 

現在我可以使用portt 80的lighttpd。

0

它看起來像的BeagleBoard有lsof可用。試試這個:

sudo lsof -i -nP 

如果有太多的輸出,你需要對它加以限制:

sudo lsof -i -nP | grep ":80 (LISTEN)" 
+1

埃(截至2013年6月20日)沒有lsof –

2

在我的基於Debian的BeagleBone Black上,/ lib/systemd/system/bonescript的內容。插座上寫着:

[Socket] 
ListenStream=80 

[Install] 
WantedBy=sockets.target 

的能夠移動bonescript插座到另一個端口,而不訴諸禁用該服務。這將對希望在端口80上找到資源的node.js服務器產生副作用,因此它不僅僅涉及設置偵聽器端口以保留現有功能。

相關問題