dev和debug时,如果机器的7001端口被占用,config里的port设置被egg-bin通过命令行传参改成了7002
相关启动日志 [egg-bin] server port 7001 is in use, now using port 7002
dev和debug时,如果机器的7001端口被占用,config里的port设置被egg-bin通过命令行传参改成了7002
相关启动日志 [egg-bin] server port 7001 is in use, now using port 7002
egg-bin版本
当端口被占用时,egg-bin会自动去找一个可用的端口启动,是不是你自定义端口配置错误了, 如dev命令 "dev": "egg-bin --port=7003 dev", 这样配置是可以正常使用7003端口启动的
1.我是在config.prod.js中设置config.cluster来配置监听端口为8080的,这是启动配置项里介绍的方法 2.你说的egg-bin会自动去找一个可用的端口启动是通过命令行传参--port=7002实现的,会覆盖config.prod.js里的配置 3.你说的解决方式是修改dev命令(加上--port=7003),这个是写在package.json里面的,如果要在不同端口部署服务器会导致这个文件没法提交到git上 4.可以在启动配置项里提示一下如果端口7001被占用,该配置方法会失效,或者去掉自动去找一个可用的端口这样的逻辑,一般启动启动网站程序都会配置监听端口吧,我不希望自己启动的的网站随便就找一个端口监听就启动了,然后自己设定的端口又访问不了,如果端口被占用直接报错就可以
config.cluster
,所以你需要手动指定。config.prod.js
是线上环境的配置文件,dev 和 debug 时也不会生效。说错了是config.local.js文件里面配置的,本地开发的时候也不希望自己设置的端口被随便改掉
其实不用那么复杂,你本地不用配置 config.cluster
(你看它的名字,本来就指的是 cluster 情况下的配置)
egg-bin dev
,如果需要特殊端口的时候,执行命令行为 npm run dev -- --port=7002
就好了,egg-bin dev --port=7002
好的,多谢