我已经通过 brew 安装了 Jenkins,它现在在端口 8080 上运行Machine A
(IP 为10.0.6.6
):10.0.6.6:8080
开启 时会给我 Jenkins Machine A
。
在机器 B 上,如果我输入10.0.6.6:8080
,页面不会加载。我确保端口8080
确实打开了,并且我已使用以下命令手动打开它:
sudo ipfw add 8080 allow tcp from any to any dst-port 8080
我正在运行 Apache 并监听端口80
,Machine A
我可以从机器 B 正常访问它10.0.6.6:80
运行sudo lsof -i:8080
查看端口 8080 上正在监听的内容,结果如下:
java 67405 root 168u IPv6 0x8559ae29226e47f7 0t0 TCP localhost:http-alt (LISTEN)
java 67405 root 276u IPv6 0x8559ae2927c6b397 0t0 TCP localhost:http-alt->localhost:52067 (ESTABLISHED)
Machine A
在 Mac OSX 10.8.5 上。知道是什么原因造成的吗?
我可以提供的任何其他详细信息:
我使用以下命令安装了 Jenkins:
brew install jenkins
我使用以下命令启动 Jenkins:
sudo launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
答案1
homebrew 的默认 homebrew.mxcl.jenkins.plist 具有以下内容:
<string>--httpListenAddress=127.0.0.1</string>
这使其仅监听本地主机。要使其监听所有接口,您可以将其替换为:
<string>--httpListenAddress=0.0.0.0</string>
然后我认为你需要启动ctl unload/load 来重新启动。当然,如果你愿意,你也可以设置一个更具体的监听地址。
答案2
2021 年,在运行 BigSur 的 M1 Mac 上自制plist 文件实际上位于/opt/homebrew/Cellar/jenkins/2.290/homebrew.mxcl.jenkins.plist
你需要:
sudo YOUR_FAV_EDITOR /opt/homebrew/Cellar/jenkins/2.290/homebrew.mxcl.jenkins.plist
--httpListenAddress
并将所有接口(0.0.0.0)如上所述(在 John Evanson 的回答中)更改为使用brew services start jenkins
//brew services stop jenkins
brew services restart jenkins
希望这些更新的信息能够帮助到一些人:)
答案3
去
~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
并将httpListenAddress
值从更改127.0.0.1
为0.0.0.0
由于此 homebrew.mxcl.jenkins.plist 文件位于 LaunchAgents 中,因此您需要重新启动机器才能使其生效。