jekyll 2.2.0 |错误:地址已在使用-绑定(2)
我不熟悉Jekyll的博客,并尝试在本地网站上查看博客jekyll 2.2.0 |错误:地址已在使用-绑定(2),jekyll,Jekyll,我不熟悉Jekyll的博客,并尝试在本地网站上查看博客 http://localhost:4000 但失败了 ➜ my-awesome-site > jekyll serve Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/ Configuration file: /home/Git/my-awesome-site/_config.yml Source: /hom
http://localhost:4000
但失败了
➜ my-awesome-site > jekyll serve
Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: /home/Git/my-awesome-site/_config.yml
Source: /home/Git/my-awesome-site
Destination: /home/Git/my-awesome-site/_site
Generating...
done.
Configuration file: /home/Git/my-awesome-site/_config.yml
jekyll 2.2.0 | Error: Address already in use - bind(2)
我试过了
$ lsof -wni tcp:3000
$ lsof -wni tcp:4000
但他们都没有回报
我的Ruby版本是:
➜ my-awesome-site > ruby --version
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
接下来我该怎么办?我已经重新安装了jekyll,但同样的问题仍然存在 尝试查看哪个进程正在使用该端口,杀死它并再次运行,或者尝试在不同的端口上运行jekyll 请参阅中的注释,这些注释应能帮助您: 如果需要终止服务器,可以
kill-91234
在“1234”所在的位置
PID
如果找不到PID,则执行,ps aux|grep jekyll
并杀死该实例
我把它修好了。我必须在命令中附加'sudo'
$> sudo lsof -wni tcp:4000
它将为您提供在tcp端口4000上运行的进程的信息,该端口还包含PID(进程ID)。现在使用下面的命令终止进程
$> sudo kill -9 PID
现在,您可以执行jekyllserve
命令来启动您的站点如果,请执行以下操作:
对任何人的修复:在未使用的端口上运行jekyll-serve
:
两种方式:
\u config.yml
文件中,像这样指定4000
以外的端口,例如:
port: 4001
bundle exec jekyll serve --livereload --port 4001
--port 4001
添加到jekyll-serve
命令中,例如:
port: 4001
bundle exec jekyll serve --livereload --port 4001
bundle exec jekyll serve --livereload --drafts --unpublished
我发现以下错误:
ps aux | grep jekyll
不显示除此grep
命令本身之外正在运行的任何进程。所以,这没有帮助
但是,sudo lsof-wni tcp:4000显示了正在运行的nxd
nx守护进程:
我发现这是由于我的远程登录服务器
如果运行NoMachine,请单击任务栏右上角的NoMachine图标。例:这是在Ubuntu 20.04上:
然后单击“显示服务器状态”-->端口,您将看到NoMachine正在端口4000上运行nx
,这会干扰:
因此,使用上面的修复程序在不同的端口上为jekyll提供服务,例如4001
而不是4000
我建议在端口4000
上保持NoMachine端口设置不变,因为:
- 自动更新要求安装了NoMachine客户端或服务器的主机能够访问端口
上的NoMachine更新服务器,并使用TCP协议4000
➜ 我最棒的网站>ps aux | grep jekyll用户名53521 0.0 0.0 2432784 612 s000 S+2:12PM 0:00.00 grep jekyllit似乎没有什么好杀的。唯一具有关键字jekyll的正在运行的作业是“grep jekyll”,请您指出如何在其他端口上运行jekyll?在
\u config.yml
中控制,例如添加端口:4444
。或者,正如@TuanAnhTran所说,您可以使用jekyll-serve-watch-port 4444
尝试不同的端口来帮助我