转载:https://www.cnblogs.com/linux-super-meng/p/4106305.html
解决svnserve: Can’t bind server socket: Address already in use
第一次搭建自己的svn库,按照阿里云等一系列文档,由于自己也是第一次搭建svn,挺顺利的,中间遇到点小问题:
我使用的是yum安装的svn,安装完成配置结束。
/etc/init.d/svnserve start ok //貌似启动起来了
netstat -antple | grep svn
3690 //呀,端口也有了,貌似小意思哦
但其实你在win客户端使用时发现怎么登陆都报错,很扯淡的。
怎么解决呢?
killall svnserve
svnserve -d -r /opt/svn/repos 启动成功。
win客户端登陆完全ok。
建好以后启动
svnserve -d -r /mnt/westos
svnserve: Can’t bind server socket: Address already in use
报错了,纠结了吧!
解决办法:
svnserve -d -r /mnt/westos --listen-port 3691
[root@localhost conf]# netstat -antple | grep svn
tcp 0 0 :::3690 LISTEN 0 125064 7427/svnserve
tcp 0 0 :::3691 LISTEN 0 125826 7617/svnserve
为什么会出现这种原因呢?默认的启动svn服务,系统默认开启的端口为3690,当你启动第二个版本库时还是开启3690,所以就冲突了。
你可能会想到我kill掉,再重新启动,要是开发的项目正在进行,你会去kill掉?
我的服务器上svn本身启动是有一个启动的进程库的,所以当您在启动自己搭建的库时候是启动不起来的,需要先kill启动进程,但是kill重启服务器也是启动默认的3690对应的默认库,所以需要将自己搭建的库,指向另一个端口就可以连接了