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/
|
||
|
||
================================================================================
|
||
文档结束
|
||
================================================================================
|
||
|