centOs7 安装nginx

本文详细介绍了如何离线安装Nginx,并提供了具体步骤,包括下载rpm包、执行安装命令、查询相关目录及常用命令。此外,还解释了Nginx的重启、停止、版本查询等操作。

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

1.下载nginx离线安装文件(我下载的是nginx-1.10.0-1.el7.ngx.x86_64.rpm) ,下载地址如下:

http://nginx.org/packages/centos/7/x86_64/RPMS/

nginx官网:http://nginx.org


2.切换至nginx目录下执行如下命令即可安装 :

rpm -ivh nginx-1.10.0-1.el7.ngx.x86_64.rpm


3.通过如下命令可以查询nginx相关目录:

whereis nginx

说明:

  • /usr/sbin/nginx 是nginx的命令执行文件
  • /etc/nginx/ 目录下存放了nginx的配置文件(配置文件在这里修改,默认的conf还include了conf.d目录下的conf文件)
  • /usr/share/nginx/ 目录下有html文件夹,此目录是默认配置文件中的静态资源目录

4.nginx常用命令:

cd /usr/sbin
nginx #启动nginx
nginx -s quit #退出nginx(正常退出,等待worker处理完请求后关闭)
nginx -s stop #强制停止nginx(快速暴力,处理中的请求强制结束)
nginx -s reload #重新载入更改后的配置文件
nginx -V #查询Nginx的版本号
ps -ef|grep nginx #查询nginx进程
kill -9 pid #强制结束pid进程

5.nginx -s reload 实现过程

nginx -s reload 可重新载入更改后的配置文件:

  • 校验配置文件合法性
  • 启动新的worker进程按照新的配置文件接收新的请求
  • 等待旧的worker进程处理完成之前的请求后关闭旧的worker进程
### CentOS 7 安装 Nginx 的教程 #### 准备工作 在开始之前,确保服务器已准备好并更新到最新状态。可以通过以下命令完成系统的升级: ```bash sudo yum update -y ``` #### 安装必要的依赖项 为了成功编译和安装 Nginx,需要先安装一些必需的开发工具和库。如果缺少这些组件,在配置阶段可能会遇到错误[^4]。因此,需执行以下命令来安装所需的软件包: ```bash sudo yum -y install gcc make zlib-devel gcc-c++ libtool openssl openssl-devel ``` #### 下载 Nginx 源码 访问[Nginx官方网站](http://nginx.org/en/download.html),下载最新的稳定版本源码文件。或者通过 `wget` 命令直接获取: ```bash wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 ``` 这里假设我们使用的是 Nginx 1.24.0 版本[^5]。 #### 配置与编译 进入解压后的目录后,运行如下命令进行配置、编译以及安装操作: ```bash ./configure --prefix=/usr/local/nginx make && make install ``` 上述过程会将 Nginx 安装至 `/usr/local/nginx/` 路径下。如果有特殊需求(例如启用模块支持),可以在 `./configure` 中加入额外参数。 #### 启动服务 安装完成后,启动 Nginx 并验证其正常运行情况: ```bash /usr/local/nginx/sbin/nginx curl localhost ``` 如果返回默认欢迎页面,则说明安装成功。 #### 设置开机自启和服务管理 为了让 Nginx 支持 systemctl 控制方式,创建一个新的 service 文件: ```bash cat <<EOF | sudo tee /lib/systemd/system/nginx.service [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target EOF ``` 接着重新加载 systemd 配置,并尝试控制 Nginx: ```bash sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx ``` #### 测试防火墙规则 最后确认端口开放状况,允许外部访问 Web 站点: ```bash sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --reload ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值