406 lines
10 KiB
Plaintext
406 lines
10 KiB
Plaintext
|
|
================================================================================
|
|||
|
|
Gerrit 服务器启停操作文档
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
文档名称:Gerrit 服务器启停操作指南
|
|||
|
|
创建日期:2025-12-15
|
|||
|
|
适用版本:Gerrit 3.3.8
|
|||
|
|
服务器路径:/home/renjianbo/gerrit_install/review_site
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
一、基本操作命令
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
【进入 Gerrit 目录】
|
|||
|
|
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
|
|||
|
|
【启动服务】
|
|||
|
|
|
|||
|
|
bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
或者使用 Java 11(推荐):
|
|||
|
|
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
【停止服务】
|
|||
|
|
|
|||
|
|
bin/gerrit.sh stop
|
|||
|
|
|
|||
|
|
【重启服务】
|
|||
|
|
|
|||
|
|
bin/gerrit.sh restart
|
|||
|
|
|
|||
|
|
或者:
|
|||
|
|
|
|||
|
|
bin/gerrit.sh stop
|
|||
|
|
sleep 3
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
【查看服务状态】
|
|||
|
|
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
【查看服务进程】
|
|||
|
|
|
|||
|
|
ps aux | grep gerrit
|
|||
|
|
|
|||
|
|
或者:
|
|||
|
|
|
|||
|
|
ps -ef | grep gerrit
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
二、详细操作说明
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
【启动服务】
|
|||
|
|
|
|||
|
|
1. 基本启动:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
2. 使用 Java 11 启动(推荐,避免版本兼容问题):
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
3. 启动后等待几秒,然后检查状态:
|
|||
|
|
sleep 5
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
【停止服务】
|
|||
|
|
|
|||
|
|
1. 正常停止:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh stop
|
|||
|
|
|
|||
|
|
2. 如果正常停止失败,强制停止:
|
|||
|
|
# 查找进程 ID
|
|||
|
|
ps aux | grep gerrit | grep -v grep
|
|||
|
|
|
|||
|
|
# 杀死进程(替换 PID 为实际进程 ID)
|
|||
|
|
kill -9 <PID>
|
|||
|
|
|
|||
|
|
# 或者直接杀死所有 Gerrit 进程
|
|||
|
|
pkill -9 -f gerrit
|
|||
|
|
|
|||
|
|
【重启服务】
|
|||
|
|
|
|||
|
|
1. 正常重启:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh restart
|
|||
|
|
|
|||
|
|
2. 完整重启(推荐,确保使用 Java 11):
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh stop
|
|||
|
|
sleep 3
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
sleep 5
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
【查看服务状态】
|
|||
|
|
|
|||
|
|
1. 查看服务状态:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
2. 检查端口是否监听:
|
|||
|
|
netstat -tlnp | grep 8080 # HTTP 端口
|
|||
|
|
netstat -tlnp | grep 29418 # SSH 端口
|
|||
|
|
|
|||
|
|
或者使用 ss 命令:
|
|||
|
|
ss -tlnp | grep 8080
|
|||
|
|
ss -tlnp | grep 29418
|
|||
|
|
|
|||
|
|
3. 检查进程:
|
|||
|
|
ps aux | grep gerrit | grep -v grep
|
|||
|
|
|
|||
|
|
4. 测试 HTTP 服务:
|
|||
|
|
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://localhost:8080/
|
|||
|
|
|
|||
|
|
5. 测试 SSH 服务:
|
|||
|
|
ssh -p 29418 renjianbo@localhost gerrit version
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
三、日志查看
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
【查看实时日志】
|
|||
|
|
|
|||
|
|
1. HTTP 访问日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -f logs/httpd_log
|
|||
|
|
|
|||
|
|
2. SSH 访问日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -f logs/sshd_log
|
|||
|
|
|
|||
|
|
3. Gerrit 主日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -f logs/gerrit.log
|
|||
|
|
|
|||
|
|
4. 错误日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -f logs/error_log
|
|||
|
|
|
|||
|
|
【查看历史日志】
|
|||
|
|
|
|||
|
|
1. 查看最后 100 行 HTTP 日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -100 logs/httpd_log
|
|||
|
|
|
|||
|
|
2. 查看最后 50 行错误日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -50 logs/error_log
|
|||
|
|
|
|||
|
|
3. 搜索特定内容:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
grep "error" logs/gerrit.log | tail -20
|
|||
|
|
grep "renjianbo" logs/httpd_log | tail -20
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
四、常见问题处理
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
【问题1】服务启动失败
|
|||
|
|
|
|||
|
|
检查项:
|
|||
|
|
1. 检查 Java 版本:
|
|||
|
|
java -version
|
|||
|
|
# 应该显示 Java 11 或更高版本
|
|||
|
|
|
|||
|
|
2. 检查端口是否被占用:
|
|||
|
|
netstat -tlnp | grep 8080
|
|||
|
|
netstat -tlnp | grep 29418
|
|||
|
|
|
|||
|
|
如果端口被占用,可以:
|
|||
|
|
- 停止占用端口的进程
|
|||
|
|
- 或修改 gerrit.config 中的端口配置
|
|||
|
|
|
|||
|
|
3. 查看错误日志:
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -50 logs/error_log
|
|||
|
|
|
|||
|
|
4. 检查磁盘空间:
|
|||
|
|
df -h
|
|||
|
|
|
|||
|
|
5. 检查内存:
|
|||
|
|
free -h
|
|||
|
|
|
|||
|
|
【问题2】服务无法停止
|
|||
|
|
|
|||
|
|
解决方法:
|
|||
|
|
1. 查找进程:
|
|||
|
|
ps aux | grep gerrit | grep -v grep
|
|||
|
|
|
|||
|
|
2. 强制停止:
|
|||
|
|
kill -9 <PID>
|
|||
|
|
|
|||
|
|
或者:
|
|||
|
|
pkill -9 -f gerrit
|
|||
|
|
|
|||
|
|
3. 验证已停止:
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
ps aux | grep gerrit | grep -v grep
|
|||
|
|
|
|||
|
|
【问题3】服务启动后无法访问
|
|||
|
|
|
|||
|
|
检查项:
|
|||
|
|
1. 检查服务是否运行:
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
2. 检查端口是否监听:
|
|||
|
|
netstat -tlnp | grep 8080
|
|||
|
|
|
|||
|
|
3. 检查防火墙:
|
|||
|
|
sudo firewall-cmd --list-ports
|
|||
|
|
# 确保 8080 和 29418 端口已开放
|
|||
|
|
|
|||
|
|
4. 检查配置文件:
|
|||
|
|
cat etc/gerrit.config | grep listenUrl
|
|||
|
|
cat etc/gerrit.config | grep canonicalWebUrl
|
|||
|
|
|
|||
|
|
5. 测试本地访问:
|
|||
|
|
curl http://localhost:8080/
|
|||
|
|
|
|||
|
|
【问题4】Java 版本问题
|
|||
|
|
|
|||
|
|
如果遇到 Java 版本错误:
|
|||
|
|
1. 检查已安装的 Java 版本:
|
|||
|
|
ls /usr/lib/jvm/
|
|||
|
|
|
|||
|
|
2. 使用 Java 11 启动:
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
3. 或者设置环境变量:
|
|||
|
|
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64
|
|||
|
|
export PATH=$JAVA_HOME/bin:$PATH
|
|||
|
|
bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
五、完整操作脚本
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
【启动脚本】
|
|||
|
|
|
|||
|
|
#!/bin/bash
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
sleep 5
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
【停止脚本】
|
|||
|
|
|
|||
|
|
#!/bin/bash
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh stop
|
|||
|
|
sleep 3
|
|||
|
|
ps aux | grep gerrit | grep -v grep
|
|||
|
|
|
|||
|
|
【重启脚本】
|
|||
|
|
|
|||
|
|
#!/bin/bash
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
bin/gerrit.sh stop
|
|||
|
|
sleep 3
|
|||
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
sleep 5
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://localhost:8080/
|
|||
|
|
|
|||
|
|
【状态检查脚本】
|
|||
|
|
|
|||
|
|
#!/bin/bash
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
echo "=== Gerrit 服务状态 ==="
|
|||
|
|
bin/gerrit.sh status
|
|||
|
|
echo ""
|
|||
|
|
echo "=== 端口监听状态 ==="
|
|||
|
|
netstat -tlnp | grep -E "8080|29418"
|
|||
|
|
echo ""
|
|||
|
|
echo "=== 进程状态 ==="
|
|||
|
|
ps aux | grep gerrit | grep -v grep
|
|||
|
|
echo ""
|
|||
|
|
echo "=== HTTP 服务测试 ==="
|
|||
|
|
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://localhost:8080/
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
六、系统服务配置(可选)
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
如果需要将 Gerrit 配置为系统服务(开机自启动),可以创建 systemd 服务文件:
|
|||
|
|
|
|||
|
|
【创建服务文件】
|
|||
|
|
|
|||
|
|
sudo vi /etc/systemd/system/gerrit.service
|
|||
|
|
|
|||
|
|
【服务文件内容】
|
|||
|
|
|
|||
|
|
[Unit]
|
|||
|
|
Description=Gerrit Code Review
|
|||
|
|
After=network.target
|
|||
|
|
|
|||
|
|
[Service]
|
|||
|
|
Type=forking
|
|||
|
|
User=renjianbo
|
|||
|
|
Group=renjianbo
|
|||
|
|
WorkingDirectory=/home/renjianbo/gerrit_install/review_site
|
|||
|
|
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64"
|
|||
|
|
ExecStart=/home/renjianbo/gerrit_install/review_site/bin/gerrit.sh start
|
|||
|
|
ExecStop=/home/renjianbo/gerrit_install/review_site/bin/gerrit.sh stop
|
|||
|
|
Restart=on-failure
|
|||
|
|
RestartSec=10
|
|||
|
|
|
|||
|
|
[Install]
|
|||
|
|
WantedBy=multi-user.target
|
|||
|
|
|
|||
|
|
【使用系统服务】
|
|||
|
|
|
|||
|
|
1. 重新加载 systemd:
|
|||
|
|
sudo systemctl daemon-reload
|
|||
|
|
|
|||
|
|
2. 启动服务:
|
|||
|
|
sudo systemctl start gerrit
|
|||
|
|
|
|||
|
|
3. 停止服务:
|
|||
|
|
sudo systemctl stop gerrit
|
|||
|
|
|
|||
|
|
4. 重启服务:
|
|||
|
|
sudo systemctl restart gerrit
|
|||
|
|
|
|||
|
|
5. 查看状态:
|
|||
|
|
sudo systemctl status gerrit
|
|||
|
|
|
|||
|
|
6. 设置开机自启动:
|
|||
|
|
sudo systemctl enable gerrit
|
|||
|
|
|
|||
|
|
7. 取消开机自启动:
|
|||
|
|
sudo systemctl disable gerrit
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
七、快速参考命令
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
【常用命令速查】
|
|||
|
|
|
|||
|
|
# 启动
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site && JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
# 停止
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site && bin/gerrit.sh stop
|
|||
|
|
|
|||
|
|
# 重启
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site && bin/gerrit.sh stop && sleep 3 && JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start
|
|||
|
|
|
|||
|
|
# 状态
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site && bin/gerrit.sh status
|
|||
|
|
|
|||
|
|
# 查看日志
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site && tail -f logs/httpd_log
|
|||
|
|
|
|||
|
|
# 检查端口
|
|||
|
|
netstat -tlnp | grep -E "8080|29418"
|
|||
|
|
|
|||
|
|
# 测试 HTTP
|
|||
|
|
curl http://localhost:8080/
|
|||
|
|
|
|||
|
|
# 测试 SSH
|
|||
|
|
ssh -p 29418 renjianbo@localhost gerrit version
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
八、重要提示
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
1. 启动服务前,确保:
|
|||
|
|
- Java 11 或更高版本已安装
|
|||
|
|
- 端口 8080 和 29418 未被占用
|
|||
|
|
- 有足够的磁盘空间和内存
|
|||
|
|
|
|||
|
|
2. 停止服务前,建议:
|
|||
|
|
- 等待当前操作完成
|
|||
|
|
- 通知用户(如果有)
|
|||
|
|
|
|||
|
|
3. 重启服务后,建议:
|
|||
|
|
- 等待 5-10 秒让服务完全启动
|
|||
|
|
- 检查服务状态
|
|||
|
|
- 测试 HTTP 和 SSH 访问
|
|||
|
|
|
|||
|
|
4. 日志文件位置:
|
|||
|
|
- HTTP 日志:logs/httpd_log
|
|||
|
|
- SSH 日志:logs/sshd_log
|
|||
|
|
- 主日志:logs/gerrit.log
|
|||
|
|
- 错误日志:logs/error_log
|
|||
|
|
|
|||
|
|
5. 配置文件位置:
|
|||
|
|
- 主配置:etc/gerrit.config
|
|||
|
|
- 安全配置:etc/secure.config
|
|||
|
|
|
|||
|
|
6. 数据目录:
|
|||
|
|
- Git 仓库:git/
|
|||
|
|
- 数据库:db/
|
|||
|
|
- 缓存:cache/
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
文档结束
|
|||
|
|
================================================================================
|
|||
|
|
|