Files
gerrit/(红头)Gerrit服务器启停操作文档.txt

406 lines
10 KiB
Plaintext
Raw Permalink Normal View History

2025-12-22 17:12:39 +08:00
================================================================================
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/
================================================================================
文档结束
================================================================================