二进制安装Nginx——详细

☆ Nginx概述

Nginx (engine x) 是一个高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP等邮件服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日 => F5公司,负载均衡器(硬件)

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

bash 复制代码
# curl -I 域名地址
Server:Nginx

☆ 常见用法

  • 1) Web服务器软件 httpd(apache) 同类型web服务器软件:apache nginx(俄罗斯) iis(微软) lighttpd(德国)
  • 2) 提供了IMAP/POP3/SMTP服务
  • 3) 充当反向代理服务器,实现负载均衡功能。LB=>Load Blance

☆ Nginx特点

  • ① 高可靠:稳定性 master进程 管理调度请求分发到哪一个worker=> worker进程 响应请求 一master多worker
  • ② 热部署 :(1)平滑升级(不停机升级)(2)快速重载配置(不重启Nginx服务,就可以重新加载配置文件)
  • ③ 高并发:可以同时响应更多的请求 事件 底层:epoll模型
  • ④ 响应快:尤其在处理静态文件上,响应速度很快 sendfile
  • ⑤ 低消耗:cpu和内存 1w个请求,内存2~3MB
  • ⑥ 分布式支持:反向代理 七层负载均衡(应用层),新版本也支持四层负载均衡

☆ 常见安装方式

  • ① yum安装配置,需使用Nginx官方源或者EPEL源(优点:安装简单,操作方便;缺点:版本相对固定,定制性特别差。)yum/glibc包(二进制软件包),相当于别人已经对源代码进行打包,生成可执行文件,根据这个可执行文件就可以实现软件安装。
  • ② 源码编译(优点:定制性比较强,可以选择性开启或关闭某些功能,本身比较稳定;缺点:安装比较复杂 => 安装时间长)

☆ 编译安装Nginx

  • 源码编译安装 => 获取别人开发好的软件源代码(没有打包)=> ① 基础配置(软件未来安装路径,选择要安装功能)② 编译(把配置好的源代码进行打包,生成一个可执行的二进制文件)③ 安装(把生成的可执行的二进制文件进行安装操作)
  • 软件的编译安装过程:编译安装三步走(配置 + 编译 + 安装)

① 配置软件./configure

② 编译,生成可执行的软件包make

③ 安装make install

源码,Linux底层都需要安装gcc!

第一步:安装依赖库
bash 复制代码
yum -y install pcre-devel zlib-devel openssl-devel
  • openssl-devel:让Nginx可以支持https协议
  • http 与 https区别-------http端口:80,传输过程没有通过ssl进行加密,明文传输,有安全隐患。早期浏览器默认使用http协议,新版本不推荐使用http协议,内部项目可以采用http。 https端口:443,需要配置ssl证书(免费,3个月要续订一次;收费,1-3年续订一次,大概1000左右一年),加密传输,数据传输过程中都会通过ssl进行加密,相对于http更加安全。
第二步:创建账号
bash 复制代码
useradd -r -s /sbin/nologin www
第三步:配置/编译与安装
bash 复制代码
tar xvf nginx-1.24.0.tar.gz 
cd nginx-1.24.0 
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 
make && make install
编译参数说明

|--------------------------------|--------------------------------------|
| 参数 | 作用 |
| --prefix | 编译安装到的软件目录 |
| --user | worker进程运行用户 |
| --group | worker进程运行用户组 |
| --with-http_ssl_module | 支持https 需要 pcel-devel依赖 |
| --with-http_stub_status_module | 基本状态信息显示 查看请求数、连接数等 |
| --with-http_realip_module | 定义客户端地址和端口为header头信息 常用于反向代理后的真实IP获取 |

☆ Nginx目录介绍

|------|---------------------------|
| 目录 | 作用 |
| conf | 配置文件(nginx.conf) |
| html | 网站默认目录(源代码目录) |
| logs | 日志(access.log、error.log) |
| sbin | 可执行文件 [软件的启动 停止 重启 重载等] |

  • Nginx比较特殊:既支持重启操作,也支持重载操作!
  • 重启:停服,重新启动
  • 重载:不停服,重新加载配置文件

☆ 软件操作参数

|-----------|--------------------------------------|
| 参数 | 作用 |
| -V | 显示Nginx版本号以及配置选项 |
| -s signal | stop关闭 quit优雅的关闭 reopen重开日志 reload重载 |

常用命令:

启动Nginx

bash 复制代码
cd /usr/local/nginx 
sbin/nginx -c /usr/local/nginx/conf/nginx.conf

强制关闭:如果有正在处理的http请求,也会立即被中断

bash 复制代码
sbin/nginx -s stop

优雅关闭:如果有正在处理的http请求,先处理完成后,在关闭

bash 复制代码
sbin/nginx -s quit

不停服重载:如果在Nginx运行期间,修改了nginx.conf配置文件

bash 复制代码
sbin/nginx -s reload

☆ Nginx服务配置

注意:一定要提前把Nginx停止掉 sbin/nginx -s stop

bash 复制代码
# Nginx服务配置到该文件中
# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=Nginx Web
Server After=network.target

[Service] Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# 扩展: Type=forking,forking代表后台运行

启动Nginx服务:

bash 复制代码
# systemctl daemon-reload 
# systemctl start nginx

设置Nginx开机启动:

bash 复制代码
# systemctl enable nginx

重启Nginx:

bash 复制代码
systemctl restart nginx

重载Nginx:

bash 复制代码
systemctl reload nginx

关闭Nginx:

bash 复制代码
systemctl stop nginx

本 篇 完 结 ... ...


持 续 更 新 中 ... ...

相关推荐
刚入坑的新人编程1 小时前
Linux-cgdb
linux·运维·服务器
无限码农1 小时前
2.1 网络编程 异步网络库zvnet
服务器·网络·php
九硕智慧建筑一体化厂家1 小时前
什么是楼宇自控?全面解析楼宇自控与楼宇自控系统的作用
大数据·运维·人工智能·网络协议·制造
丿罗小黑2 小时前
【2026】Openclaw使用经验(阿里云服务器)
运维·服务器·chrome
桌面运维家2 小时前
Linux VHD 虚拟磁盘更新指南:高效管理与优化
linux·运维·数据库
在屏幕前出油2 小时前
02. FastAPI——路由
服务器·前端·后端·python·pycharm·fastapi
进击切图仔2 小时前
Linux 挂载操作
linux·运维·服务器
武汉禹力自动化科技2 小时前
ABB气动执行器DP020SR / DP050SR / DP110SR区别详解 | 禹力自动化科技有限公司
运维·科技·自动化
炽天使3282 小时前
龙虾尝鲜记(4)——Ubuntu 笔记本无头服务器全配置
linux·服务器·ubuntu