nps 域名解析 访问报错“404 not found,power by nps”

本文介绍了解决Nginx反向代理配置错误导致的404问题的方法。通过对比官方文档,发现缺少proxy_set_header配置项是关键原因。

因为服务端80 443端口被占用,nps只能用其他端口,使用Nginx做反向代理,修改了配置文件之后一直报错“404 not found,power by nps”,一直找不到问题在哪,最后对比官方文档,返现Nginx代理配置少了一个proxy_set_header配置项,配置之后,重启就可以正常解析了

server {
    listen       80;
    listen  [::]:80;
    server_name  *.in.com;

    location / {
    	proxy_set_header Host  $http_host;
        proxy_pass http://127.0.0.1:70/;
    }
}

<think>问题:登录另一台虚拟机执行jps命令失败,报错command not found 原因分析:jps是JDK提供的工具,用于查看Java进程状态。出现该错误通常是因为目标主机上未安装JDK或未正确配置环境变量。 解决方案: 1. 检查目标主机是否安装JDK 2. 检查环境变量PATH是否包含JDK的bin目录 3. 检查当前用户是否有执行权限 具体步骤:</think>### 解决远程执行 `jps` 命令报错 "command not found" 的问题 #### 原因分析: 1. **JDK未安装**:目标主机未安装Java Development Kit 2. **环境变量问题**:JDK的`bin`目录未加入`$PATH` 3. **用户权限问题**:当前用户无权限访问`jps`命令 4. **路径错误**:JDK安装路径与预期不符 --- ### 解决方案: #### 方法1:使用绝对路径执行(推荐) ```bash # 查找jps的实际路径 ssh username@hostname "find /usr -name jps 2>/dev/null" # 使用找到的路径执行(示例) ssh username@hostname "/usr/lib/jvm/java-11-openjdk-amd64/bin/jps" ``` #### 方法2:临时添加环境变量 ```bash # 指定JDK路径执行 ssh username@hostname "export PATH=\$PATH:/usr/java/jdk1.8.0_301/bin; jps" ``` #### 方法3:检查并修复环境变量 ```bash # 检查当前PATH设置 ssh username@hostname "echo \$PATH" # 永久修复(需登录目标主机): # 编辑 ~/.bashrc 或 /etc/profile,添加: # export JAVA_HOME=/usr/java/jdk1.8.0_301 # export PATH=$JAVA_HOME/bin:$PATH ``` #### 方法4:安装缺失的JDK ```bash # Ubuntu/Debian ssh username@hostname "sudo apt update && sudo apt install -y openjdk-11-jdk-headless" # CentOS/RHEL ssh username@hostname "sudo yum install -y java-11-openjdk-devel" ``` --- ### 诊断流程图: ```mermaid graph TD A[报错 command not found] --> B{检查JDK是否安装} B -->|未安装| C[安装对应版本JDK] B -->|已安装| D{检查环境变量} D -->|PATH错误| E[修改.bashrc或/etc/profile] D -->|PATH正常| F{检查文件权限} F -->|权限不足| G[chmod +x /path/to/jps] F -->|权限正常| H[检查符号链接] H -->|链接失效| I[重建链接 ln -s] ``` --- ### 高级排错技巧: 1. **验证Java安装**: ```bash ssh username@hostname "java -version; which java" ``` 2. **查找所有jps位置**: ```bash ssh username@hostname "sudo find / -name jps 2>/dev/null" ``` 3. **创建替代命令**(当jps缺失时): ```bash ssh username@hostname 'echo -e "#!/bin/bash\nps -ef | grep java" > ~/myjps; chmod +x ~/myjps' ssh username@hostname "~/myjps" ``` 4. **使用Docker临时环境**: ```bash ssh username@hostname "docker run --rm -it openjdk:11 jps" ``` --- ### 预防措施: 1. 在基础镜像中预装JDK 2. 使用配置管理工具统一环境变量 3. 在Ansible/Puppet中添加验证任务: ```yaml - name: Verify Java tools hosts: all tasks: - command: jps register: result ignore_errors: yes - fail: msg: "JDK工具链不完整" when: "'command not found' in result.stderr" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

silencespy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值