如何释放一个beaglebone上的端口80,以便我可以使用它?

我有一个configurationlighttpd运行的beaglebone。 目前我有它运行在8080端口,它工作正常。 除了我真的想在端口80上使用它。不幸的是,它不会在端口80上启动,因为它会失败并报告端口已被使用。 当我通过端口80上的HTTP访问beaglebone时,当然我得到了beaglebone 101屏幕。

本页build议我运行systemctl disable bone101.service但该服务甚至不存在于我的Angstrom版本中。 我使用的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 aux的完整输出:

 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 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'

我终于find了解决scheme。 秘密是也禁用套接字以及服务

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

现在我可以使用80端口lighttpd。

在我的基于Debian的BeagleBone Black上,/lib/systemd/system/bonescript.socket的内容如下:

 [Socket] ListenStream=80 [Install] WantedBy=sockets.target 

这使得可以将bonescript套接字移动到另一个端口,而无需停用服务。 这会对node.js服务器产生负面影响,希望能够在端口80上find资源,所以它不仅仅涉及设置侦听器端口以保留现有function。

它看起来像BeagleBoard有可用的。 尝试这个:

 sudo lsof -i -nP 

如果输出太多,需要限制它:

 sudo lsof -i -nP | grep ":80 (LISTEN)" 
Interesting Posts