================================================================================ 服务器启停操作说明 ================================================================================ 文档名称:服务器启停操作说明 创建日期:2025-01-XX 服务器类型:Gerrit Code Review 服务器路径:/home/renjianbo/gerrit_install/review_site Java 版本:Java 17 ================================================================================ 一、快速操作命令 ================================================================================ 【启动服务器】 cd /home/renjianbo/gerrit_install/review_site JAVA_HOME=/usr/local/java/jdk-17.0.12+7 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/local/java/jdk-17.0.12+7 bin/gerrit.sh start 【查看服务状态】 cd /home/renjianbo/gerrit_install/review_site bin/gerrit.sh status 【查看进程】 ps aux | grep gerrit | grep -v grep ================================================================================ 二、详细操作步骤 ================================================================================ 【启动服务器】 1. 进入服务器目录: cd /home/renjianbo/gerrit_install/review_site 2. 启动服务(使用 Java 17): JAVA_HOME=/usr/local/java/jdk-17.0.12+7 bin/gerrit.sh start 3. 等待服务启动(建议等待 5-10 秒): sleep 5 4. 检查服务状态: bin/gerrit.sh status 5. 验证服务是否正常运行: - 检查端口监听:netstat -tlnp | grep 8080 - 测试 HTTP 访问:curl http://localhost:8080/ - 访问 Web 界面:http://101.43.95.130:8080 【停止服务器】 1. 进入服务器目录: cd /home/renjianbo/gerrit_install/review_site 2. 停止服务: bin/gerrit.sh stop 3. 等待服务停止(建议等待 3-5 秒): sleep 3 4. 验证服务已停止: bin/gerrit.sh status ps aux | grep gerrit | grep -v grep 5. 如果服务未正常停止,强制停止: # 查找进程 ID ps aux | grep gerrit | grep -v grep # 强制停止(替换 PID 为实际进程 ID) kill -9 # 或者直接停止所有 Gerrit 进程 pkill -9 -f gerrit 【重启服务器】 1. 进入服务器目录: cd /home/renjianbo/gerrit_install/review_site 2. 停止服务: bin/gerrit.sh stop 3. 等待服务完全停止: sleep 3 4. 启动服务(使用 Java 17): JAVA_HOME=/usr/local/java/jdk-17.0.12+7 bin/gerrit.sh start 5. 等待服务启动: sleep 5 6. 检查服务状态: bin/gerrit.sh status 7. 验证服务正常运行: curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://localhost:8080/ ================================================================================ 三、服务状态检查 ================================================================================ 【检查服务状态】 1. 使用 Gerrit 脚本检查: cd /home/renjianbo/gerrit_install/review_site bin/gerrit.sh status 2. 检查进程: ps aux | grep gerrit | grep -v grep 3. 检查端口监听: # HTTP 端口(默认 8080) netstat -tlnp | grep 8080 # 或使用 ss 命令 ss -tlnp | grep 8080 # SSH 端口(默认 29418) netstat -tlnp | grep 29418 # 或使用 ss 命令 ss -tlnp | grep 29418 4. 测试 HTTP 服务: curl http://localhost:8080/ # 或检查 HTTP 状态码 curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://localhost:8080/ 5. 测试 SSH 服务: ssh -p 29418 renjianbo@localhost gerrit version 6. 检查 Web 界面访问: 浏览器访问:http://101.43.95.130:8080 ================================================================================ 四、日志查看 ================================================================================ 【查看实时日志】 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. 查看最后 N 行日志: tail -100 logs/gerrit.log # 查看最后 100 行 tail -50 logs/error_log # 查看最后 50 行错误日志 2. 搜索日志内容: grep "error" logs/gerrit.log | tail -20 grep "renjianbo" logs/httpd_log | tail -20 ================================================================================ 五、常见问题处理 ================================================================================ 【问题1】服务启动失败 检查步骤: 1. 检查 Java 版本和路径: /usr/local/java/jdk-17.0.12+7/bin/java -version echo $JAVA_HOME 2. 检查端口是否被占用: netstat -tlnp | grep 8080 netstat -tlnp | grep 29418 如果端口被占用: - 查找占用进程:lsof -i :8080 - 停止占用进程或修改配置文件中的端口 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 或: 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 端口已开放 # 如果需要开放端口: sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --permanent --add-port=29418/tcp sudo firewall-cmd --reload 4. 检查配置文件: cat etc/gerrit.config | grep listenUrl cat etc/gerrit.config | grep canonicalWebUrl 5. 测试本地访问: curl http://localhost:8080/ 【问题4】Java 版本问题 如果遇到 Java 版本错误: 1. 检查 Java 安装路径: ls -la /usr/local/java/ 2. 使用指定 Java 版本启动: JAVA_HOME=/usr/local/java/jdk-17.0.12+7 bin/gerrit.sh start 3. 或者设置环境变量: export JAVA_HOME=/usr/local/java/jdk-17.0.12+7 export PATH=$JAVA_HOME/bin:$PATH bin/gerrit.sh start ================================================================================ 六、一键操作脚本 ================================================================================ 【启动脚本】 #!/bin/bash cd /home/renjianbo/gerrit_install/review_site JAVA_HOME=/usr/local/java/jdk-17.0.12+7 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/local/java/jdk-17.0.12+7 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 "=== 服务状态 ===" 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/ ================================================================================ 七、系统服务配置(可选) ================================================================================ 如果需要将服务器配置为系统服务(开机自启动),可以使用 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/local/java/jdk-17.0.12+7" 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/local/java/jdk-17.0.12+7 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/local/java/jdk-17.0.12+7 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/gerrit.log # 检查端口 netstat -tlnp | grep -E "8080|29418" # 测试 HTTP curl http://localhost:8080/ # 测试 SSH ssh -p 29418 renjianbo@localhost gerrit version ================================================================================ 九、重要提示 ================================================================================ 1. 启动服务前,确保: - Java 17 已正确安装(路径:/usr/local/java/jdk-17.0.12+7) - 端口 8080(HTTP)和 29418(SSH)未被占用 - 有足够的磁盘空间和内存 - 服务器目录存在:/home/renjianbo/gerrit_install/review_site 2. 停止服务前,建议: - 等待当前操作完成 - 通知相关用户(如果有) 3. 重启服务后,建议: - 等待 5-10 秒让服务完全启动 - 检查服务状态 - 测试 HTTP 和 SSH 访问 - 验证 Web 界面可正常访问 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/ 7. 服务器访问地址: - Web 界面:http://101.43.95.130:8080 - SSH 端口:29418 ================================================================================ 文档结束 ================================================================================