Zrlog面试问答及问题解决方案
面试问答结合 ZrLog 部署Maven 构建 环境配置 服务部署的全流程整理排查 / 运维 / 开发三类高频问题覆盖场景、原因、解答思路可直接用于沟通或故障定位一、环境准备阶段高频问题1. 执行java -version提示 “未找到命令”但已经解压 JDK 并配置了/etc/profile.d/jdk.sh核心原因环境变量未生效、路径写错、解压失败、系统位数 / 架构不匹配排查思路# 1. 验证环境变量是否加载 source /etc/profile.d/jdk.sh echo $JAVA_HOME # 应输出 /root/jdk11否则路径写错 # 2. 验证JDK解压是否完整 ls /root/jdk11/bin/java # 无输出则解压失败重新上传压缩包解压 # 3. 验证系统架构JDK需匹配x64/aarch64 uname -m # x86_64对应jdk-11_linux-x64_bin.tar.gz解答要点先确认环境变量生效再排查文件完整性最后匹配系统架构。2.mvn -version报错 “JAVA_HOME should point to a JDK not a JRE”核心原因JAVA_HOME指向了 JRE 目录或 JDK 解压包本身缺失开发组件仅装了 JRE解答思路检查JAVA_HOME配置echo $JAVA_HOME需指向JDK 根目录如/root/jdk11而非jdk11/jre重新下载完整 JDK 包JRE 仅能运行Maven 编译需要 JDK 的 javac 等开发工具。3. 配置阿里云镜像后Maven 下载依赖仍超时 / 失败核心原因pom.xml 配置错误、Maven 镜像未全局配置、网络 / 防火墙限制、依赖版本不存在排查思路# 1. 检查pom.xml是否写入成功 cat /root/zrlog-src/META-INF/maven/com.hibegin/package/pom.xml # 确认内容完整 # 2. 全局配置阿里云镜像补充兜底 cat /root/maven/conf/settings.xml EOF ?xml version1.0 encodingUTF-8? settings mirrors mirror idaliyunmaven/id name阿里云中央仓库/name urlhttps://maven.aliyun.com/repository/public/url mirrorOfcentral/mirrorOf /mirror /mirrors /EOF # 3. 测试网络连通性 ping maven.aliyun.com # 不通则检查防火墙/代理二、Maven 构建阶段高频问题1. 执行mvn clean package提示 “找不到 pom.xml”核心原因执行目录错误、源码解压路径不对解答思路先通过find /root/zrlog-src -name pom.xml定位 pom.xml 绝对路径进入该目录后再执行构建命令如cd /root/zrlog-src/META-INF/maven/com.hibegin/package/验证源码解压ls /root/zrlog-src/WEB-INF需有内容否则重新解压源码包。2. 构建时提示 “编译失败无效的目标发行版 11”核心原因JDK 版本与 pom.xml 中source/target配置不匹配、JAVA_HOME指向低版本 JDK解答思路验证 JDK 版本java -version需为 11.x否则重新配置 JDK检查 pom.xml 的编译插件配置确认source11/source和target11/target与本地 JDK 一致执行mvn -v查看 Maven 使用的 JDK需与JAVA_HOME一致。3. 构建成功但target目录无 War 包核心原因pom.xml 的packaging不是 war、war 插件配置错误、源码目录路径写错排查思路检查 pom.xml确认packagingwar/packaging存在检查 war 插件的webResources配置directory/root/zrlog-src/directory需指向源码根目录重新执行构建并查看日志mvn clean package -X-X 打印详细日志定位 “未生成 War 包” 的具体原因。三、Tomcat/Nginx 部署阶段高频问题1. Tomcat 启动后catalina.out日志提示 “数据库连接拒绝”核心原因MariaDB 未启动、数据库用户 / 密码错误、权限未开放、端口 3306 被防火墙拦截解答思路# 1. 验证MariaDB状态 systemctl status mariadb # 未启动则执行 systemctl start mariadb # 2. 验证数据库连接 mysql -uzrlog -pzrlog123456 -h 192.168.223.20 -P3306 # 连接失败则检查密码/权限 # 3. 验证防火墙 firewall-cmd --list-ports | grep 3306 # 无输出则开放端口firewall-cmd --add-port3306/tcp --permanent2. 访问http://192.168.223.20报 404Tomcat 日志无报错核心原因War 包未解压、Tomcat 端口 8080 未监听、Nginx 反向代理配置错误排查思路# 1. 检查Tomcat webapps目录 ls /root/tomcat10/webapps/ROOT # 无目录则War包未解压手动解压unzip ROOT.war -d ROOT # 2. 检查Tomcat端口监听 netstat -tulpn | grep 8080 # 无输出则Tomcat未启动或端口被占用 # 3. 检查Nginx配置 nginx -t # 验证配置语法 curl http://127.0.0.1:8080 # 本机访问Tomcat端口若404则问题在Tomcat否则在Nginx3. Nginx 启动失败提示 “address already in use :80”核心原因80 端口被其他进程如 httpd、firewalld占用解答思路# 1. 查找80端口占用进程 netstat -tulpn | grep 80 # 2. 停止占用进程如httpd systemctl stop httpd systemctl disable httpd # 3. 重启Nginx systemctl restart nginx四、Web 安装阶段高频问题1. 访问安装页面填写数据库信息后提示 “连接失败”核心原因数据库地址 / 端口 / 密码错误、zrlog 用户无远程访问权限、MariaDB 绑定 127.0.0.1排查思路验证数据库用户权限mysql -uroot -e SELECT host,user FROM mysql.user WHERE userzrlog;需包含%允许所有 IP 访问检查 MariaDB 绑定地址修改/etc/my.cnf注释bind-address127.0.0.1重启 MariaDB服务器本地测试数据库连接mysql -uzrlog -pzrlog123456 -h 192.168.223.20需能成功登录。2. 安装完成后后台管理页面样式错乱 / 静态资源 404核心原因War 包解压不完整、Nginx 未转发静态资源、Tomcat 静态资源路径配置错误解答思路检查 Tomcat 解压后的静态资源ls /root/tomcat10/webapps/ROOT/css需有 css 文件验证 Nginx 反向代理配置确保proxy_pass正确且无多余的location拦截静态资源清理浏览器缓存或直接访问http://192.168.223.20:8080跳过 Nginx验证是否正常。五、通用运维类问题1. 如何查看各服务的运行状态# JDK/Maven 版本 java -version mvn -version # MariaDB 状态 systemctl status mariadb # Nginx 状态 配置验证 systemctl status nginx nginx -t # Tomcat 状态端口日志 netstat -tulpn | grep 8080 tail -10 /root/tomcat10/logs/catalina.out2. 如何重启所有服务部署更新后# 停止服务 /root/tomcat10/bin/shutdown.sh systemctl stop nginx systemctl stop mariadb # 启动服务按依赖顺序 systemctl start mariadb systemctl start nginx /root/tomcat10/bin/startup.sh # 验证 curl http://192.168.223.20 # 返回200则正常3. 如何修改 ZrLog 的访问端口比如从 80 改成 8088步骤 1修改 Nginx 配置/etc/nginx/conf.d/zrlog.confserver { listen 8088; # 改端口 server_name _; # 其余配置不变 }步骤 2重启 Nginxsystemctl restart nginx步骤 3开放防火墙端口firewall-cmd --add-port8088/tcp --permanent firewall-cmd --reload验证访问http://192.168.223.20:8088。以上问题覆盖部署全流程的核心卡点每个问题均对应 “现象 - 原因 - 可落地的排查 / 解决步骤”可直接用于运维沟通、新人培训或故障定位手册。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2450402.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!