Subversion(SVN)是一种常用的版本控制系统,其服务端需保持运行状态才能正常访问仓库,以下是针对 Windows 和 Linux 系统的详细检查方法,涵盖命令行与图形界面操作。
Windows 系统检查方法
方法1:通过服务管理器(图形界面)
- 按
Win + R
输入services.msc
打开服务管理器。 - 在服务列表中找到以下任一服务(取决于SVN部署方式):
VisualSVN Server
(官方服务名)Apache Subversion
(通过Apache部署)SVNServe
(独立服务)
- 查看服务状态:
- 已启动:状态显示“正在运行”。
- 未启动:状态为“已停止”或“禁用”。
方法2:通过命令行
- 以管理员身份运行命令提示符(CMD)或 PowerShell。
- 输入命令检查服务状态:
sc query "VisualSVN Server" # 替换为实际服务名
- 若显示
STATE : 4 RUNNING
表示已启动。 - 若显示
STATE : 1 STOPPED
表示未启动。
- 若显示
Linux 系统检查方法
方法1:通过进程检查(命令行)
- 打开终端,根据部署方式执行:
- SVNServe 独立服务:
ps aux | grep svnserve
若输出包含
svnserve -d
进程,则服务已启动。 - Apache 集成部署:
systemctl status apache2 # 适用于Debian/Ubuntu systemctl status httpd # 适用于CentOS/RHEL
若显示
active (running)
且包含mod_dav_svn
模块,则SVN服务正常。
- SVNServe 独立服务:
方法2:通过端口检测
SVN默认使用端口 3690
(SVNServe)或 80/443
(Apache):
netstat -tuln | grep -E '3690|80|443'
若输出中包含 LISTEN
状态的相关端口,则服务已启动。
方法3:服务管理命令
- 若通过系统服务管理(如
systemd
):systemctl status svnserve # 检查SVNServe服务状态
显示
active (running)
即为已启动。
通用验证方法
访问仓库测试
执行以下命令测试服务连通性(需安装SVN客户端):
svn ls svn://localhost # 替换为实际仓库URL
- 成功:列出仓库内容(或要求认证)。
- 失败:提示
Unable to connect to a repository
表示服务未运行。
常见问题与注意事项
- 权限问题:
Linux 下需确保使用sudo
执行权限相关命令;Windows 需管理员权限。 - 防火墙拦截:
若服务已启动但无法访问,检查防火墙是否放行端口(3690/80/443)。 - 多部署方式冲突:
避免同时运行SVNServe
和Apache
服务,可能造成端口冲突。 - 日志定位问题:
- Windows:日志位于
C:\Program Files\VisualSVN Server\log
。 - Linux:查看
/var/log/svnserve.log
或 Apache 错误日志。
- Windows:日志位于
专业建议:生产环境推荐使用
systemctl
(Linux)或服务管理器(Windows)管理SVN服务,确保开机自启,定期检查日志可预防潜在故障。
引用说明
本文方法参考 Subversion 官方文档[1]及服务器管理最佳实践,适用于主流SVN部署方式(VisualSVN、Apache mod_dav_svn、SVNServe),操作命令经 CentOS 7/10、Windows Server 2019 及 Ubuntu 20.04 实测验证。
[1] Subversion 官方文档:https://svnbook.red-bean.com/
[2] VisualSVN 服务管理指南:https://www.visualsvn.com/support/
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5697.html