如何在一台主机同时运行多个GitBook

参考 How to change default listening port when use gitbook to serve a site?

gitbook --port 3000 serve

但是,这个方法启动第二个服务时(例如指定端口 --port 3001 )依然会遇到报错

... Uhoh. Got error listen EADDRINUSE :::35729 ...
Error: listen EADDRINUSE :::35729
    at Object.exports._errnoException (util.js:874:11)
    at exports._exceptionWithHostPort (util.js:897:20)
    at Server._listen2 (net.js:1234:14)
    at listen (net.js:1270:10)
    at Server.listen (net.js:1366:5)
    at Server.listen (/Users/huatai/.gitbook/versions/2.6.5/node_modules/tiny-lr/lib/server.js:164:15)
    at Promise.apply (/Users/huatai/.gitbook/versions/2.6.5/node_modules/q/q.js:1078:26)
    at Promise.promise.promiseDispatch (/Users/huatai/.gitbook/versions/2.6.5/node_modules/q/q.js:741:41)
    at /Users/huatai/.gitbook/versions/2.6.5/node_modules/q/q.js:1304:14
    at flush (/Users/huatai/.gitbook/versions/2.6.5/node_modules/q/q.js:108:17)

You already have a server listening on 35729
You should stop it and try again.

使用 lsof | grep 35729 可以看到

tcp46      0      0  *.35729                *.*                    LISTEN

参考 can not run multi gitbook server in one machine 原来 gitbook 还有一个 lrport 参数(动态重新加载服务端口),这个参数

所以第一个服务启动可以使用默认参数(port 4000lrport 35729

第二个服务启动应该使用

依次类推

Last updated

Was this helpful?