centos7 nginx 安装/启动/进程状态/杀掉进程:学习之一

本文档介绍了在CentOS7上安装Nginx的两种方法,包括YUM安装和编译安装,并详细阐述了安装过程、配置文件、目录说明、Nginx服务的启用、查询进程状态以及进程管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

下面通过2种方式来安装nginx,方便学习记录,分别为YUM安装与编译安装

1、安装依赖包

 [root@centos7 ~]# yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

2、临时和永久关闭Selinux和防火墙

[root@centos7 ~]#systemctl stop firewalld.service       ###临时关闭firewall 
[root@centos7 ~]# systemctl disable firewalld.service   ###禁止firewall开机启动 

[root@centos7 ~]# getenforce                  ###查看selinux状态
[root@centos7 ~]# setenforce 0                ###临时关闭

[root@centos7 ~]# vim /etc/selinux/config     ###配置selinux配置文件进行永久关闭
  
   SELINUX=disabled                           ###将SELINUX改为disabled
   :wq

[root@centos7 ~]# reboot                      ###重启生效

3、Yum安装Nginx与配置文件及目录说明

[root@centos7 ~]# rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.16.0-1.el7.ngx.x86_64.rpm 
<think>我们正在解决用户的问题:"telnetconnectionrefusednginxnotfoundinpathlinux"用户之前提到telnet连接被拒绝,并且之前尝试启动nginx时遇到"nginx.servicenotfound"的错误。现在用户又提到"nginxnotfoundinpath",这意味着在命令行中直接输入nginx也无法找到该命令。我们需要分步骤解决:1.确认Nginx是否安装2.如果已安装,确保其可执行文件在PATH环境变量中3.如果未安装,则安装Nginx4.配置Nginx监听端口(如8080)并启动服务5.检查防火墙和SELinux设置参考引用[1]中提到了使用ss和netstat查看端口监听情况,以及使用telnet测试端口。引用[2]中提到了杀掉进程启动,以及内存不足的问题(但当前问题可能不涉及)。步骤详解:步骤1:检查Nginx是否安装-使用包管理器(如yum、apt)查询是否安装nginx-或者尝试查找nginx二进制文件的位置步骤2:如果未安装,则安装Nginx-根据不同的Linux发行版使用相应的包管理器安装步骤3:如果已安装但不在PATH中-找到nginx安装路径,将其添加到PATH环境变量中,或者创建符号链接到/usr/bin等目录步骤4:检查Nginx配置文件,确保监听8080端口-编辑Nginx配置文件(通常为/etc/nginx/nginx.conf或/etc/nginx/conf.d/*.conf)-确保有server块监听8080端口步骤5:启动Nginx服务-如果之前没有systemd服务,则创建(参考之前的回答)-启动服务并设置开机自启步骤6:检查端口监听情况-使用ss或netstat查看8080端口是否被监听步骤7:检查防火墙和SELinux-开放8080端口-调整SELinux策略允许Nginx监听8080步骤8:再次使用telnet测试下面详细展开:</think>### 排查 Nginx 连接被拒绝及未找到问题 #### 一、核心问题诊断 1. **Nginx安装或路径错误** `nginx not found in path` 表明: - Nginx安装 - 安装路径未加入系统 PATH - 二进制文件损坏或权限错误 2. **连接被拒绝(Connection refused)** 通常由以下原因导致: - Nginx 服务未运行 - 端口未监听(如 8080) - 防火墙/SELinux 拦截 --- #### 二、完整排查流程 ```mermaid graph TD A[检查Nginx安装] --> B{是否安装?} B -->|是| C[检查服务状态] B -->|否| D[安装Nginx] C --> E[检查端口监听] E --> F[检查防火墙] F --> G[检查SELinux] G --> H[验证连接] ``` ##### 1. 检查 Nginx 是否安装 ```bash # 检查安装状态 which nginx || echo "Nginx not found in PATH" # 查找可能的安装位置 sudo find / -name nginx 2>/dev/null # 检查软件包(不同发行版) # CentOS/RHEL: rpm -qa | grep nginx # Ubuntu/Debian: dpkg -l | grep nginx ``` ##### 2. 安装 Nginx(若未安装) ```bash # CentOS/RHEL sudo yum install epel-release sudo yum install nginx # Ubuntu/Debian sudo apt update sudo apt install nginx # 验证安装 which nginx # 应返回 /usr/sbin/nginx ``` ##### 3. 检查服务状态和端口监听 ```bash # 检查服务状态 sudo systemctl status nginx # 查看端口监听(两种方法) sudo ss -ntlp | grep ':8080' # 推荐[^1] sudo netstat -tulnp | grep ':8080' # 备选[^1] # 若未监听8080,修改配置 sudo vi /etc/nginx/nginx.conf # 添加 listen 8080; ``` ##### 4. 启动 Nginx 服务 ```bash sudo systemctl start nginx sudo systemctl enable nginx # 手动启动(若无systemd) sudo nginx -c /etc/nginx/nginx.conf ``` ##### 5. 防火墙配置 ```bash # Firewalld (CentOS/RHEL) sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload # UFW (Ubuntu) sudo ufw allow 8080/tcp sudo ufw reload ``` ##### 6. SELinux 调整 ```bash # 临时允许端口 sudo semanage port -a -t http_port_t -p tcp 8080 # 永久策略 sudo setsebool -P httpd_can_network_connect 1 ``` ##### 7. 最终验证 ```bash # 本地测试 curl -I http://localhost:8080 # 远程测试 telnet 192.168.28.135 8080 # 应返回 Connected ``` --- #### 三、高级故障排查表 | 现象 | 诊断命令 | 解决方案 | |------|----------|----------| | **Nginx未找到** | `which nginx` | 重新安装或添加PATH | | **服务未启动** | `journalctl -u nginx` | 检查错误日志 | | **端口未监听** | `sudo ss -tulnp` | 修改配置监听端口 | | **权限问题** | `ls -l /usr/sbin/nginx` | `chmod +x /usr/sbin/nginx` | | **配置错误** | `sudo nginx -T` | 修复语法错误 | > **关键提示**: > - 手动安装时需添加 PATH:`export PATH=$PATH:/custom/nginx/path` > - 使用 `sudo nginx -t` 验证配置语法 > - 企业环境需同步调整防火墙和 SELinux[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值