我有一个beaglebone,我已经配置了lighttpd来运行。目前我在端口8080上运行它并且工作正常。除了我真的想在端口80上使用它。不幸的是它不会在端口80上启动,因为它失败并报告端口已经在使用中。当我通过端口80上的HTTP访问beaglebone时,我当然得到了beaglebone 101屏幕。
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. / p>
如何一劳永逸地禁用端口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
,它给出了:
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 -p
说invalid option -- 'p'
,
答案 0 :(得分:26)
我终于找到了解决方案。 秘诀是还要禁用套接字以及服务。
systemctl disable bonescript.service
systemctl disable bonescript.socket
systemctl disable bonescript-autorun.service
现在我可以将端口80用于lighttpd。
答案 1 :(得分:2)
在我的基于Debian的BeagleBone Black上,/ lib /systemd / system /bonescript.socket的内容为:
[Socket]
ListenStream=80
[Install]
WantedBy=sockets.target
可以将bonescript套接字移动到另一个端口,而无需使用该服务。这会对期望在端口80上查找资源的node.js服务器产生副作用,因此它不仅仅涉及设置侦听器端口以保留现有功能。
答案 2 :(得分:0)
看起来BeagleBoard有lsof
可用。试试这个:
sudo lsof -i -nP
如果输出太多而你需要限制它:
sudo lsof -i -nP | grep ":80 (LISTEN)"