Nginx Web服务

发布于:2025-06-25 ⋅ 阅读:(17) ⋅ 点赞:(0)

目录

一、概述

二、yum安装与编译安装

编译安装

配置文件

核心命令

Nginx信号

启动Nginx

三、HTTPS访问配置(自签名)

3.1、SSL简介

3.2、SSL协议介绍

3.3、传输过程

3.4、HTTPS工作流程

3.5、生成证书

3.6、自签名证书

四、location配置

4.1、作用

4.2、匹配

匹配优先级

4.3、配置方案

(查看文件)

(查看图片)

五、rewrite配置

5.1、语法

5.2、可写入字段

5.3、文件配置

六、配置Nginxz状态统计

6.1、下载vts模块

6.2、编译安装

6.3、配置状态统计页面


一、概述

Nginx是开源、高性能、高可靠的Web服务器和反向代理服务器。

特点
高并发、高性能
模块化架构使得它的扩展性非常好
异步非阻塞的事件驱动模型(epoll)这点和Node.js相似
相对于其他服务器来说他可以连续几个月也不需要重新启动服务器使得他具有高可靠性
热部署、平滑升级
完全开源,生态繁荣
作用
http服务期。可以独立提供http服务。可做网页静态服务器。
虚拟主机。可以实现在一台服务器虚拟出多个虚拟服务器
反向代理,负载均衡
配置安全管理,搭建API网关,对每个接口服务器进行拦截
静态服务 代理服务 安全服务 流行架构
浏览器缓存 协议类型 访问控制 Nginx+PHP(Fastcgi_pass)LNMP
防资源盗用 正向代理 访问限制 Nginx+Java(Proxy_Pass)LNMT
资源分类 反向代理 流量限制 Nginx+Python(uwsgi_pass)
资源压缩 负载均衡 拦截攻击
资源缓存 代理缓存 拦截异常请求
跨域访问 动静分离 拦截SQL注入
Master进程(主进程) 特点
管理者,负责读取配置、管理 Worker 进程、处理信号(如重启、平滑升级) 单进程,不直接处理请求,仅监听端口并分配连接给 Worker 进程。
Worker进程(工作进程)
实际处理客户端请求的工作单元。 1.数量可通过配置(worker_processes)设置,通常等于 CPU 核心数以避免上下文切换开销。2.每个 Worker 进程独立监听端口,采用异步非阻塞方式处理请求,支持高并发(单个 Worker 可处理数万并发连接)

二、yum安装与编译安装

安装方式 yum安装 编译安装
配置文件目录 /etc/nginx/ /usr/local/nginx/conf
临时数据文件目录 /var/lib/nginx
日志文件目录 /var/log/nginx /usr/local/nginx/logs
访问页面根目录 /usr/shara/nginx/html /uer/local/nginx/html
自定义配置文件目录 /etc/nginx/conf.d /usr/local/nginx/conf/conf.d
默认配置文件目录 /etc/nginx/default.d /usr/local/nginx/conf/default.d
命令存放目录 /usr/local/nginx/sbin

编译安装

配置文件

核心命令

命令 作用
systemctl enable nginx 开机自动启动
systemctl disable nginx 关闭开机自动启动
systemctl start nginx 启动Nginx
systemctl stop nginx 停止Nginx
systemctl restart nginx 重启Nginx
systemctl reload nginx 重新加载Nginx
systemctl status nginx 查看 Nginx 运行状态
ps -elf | grep [n]ginx 查看Nginx进程,但是不会显示grep本身的进程
kill -9 pid 根据上面查看到的Nginx进程号,杀死Nginx进程,-9 表示强制结束进程
nginx -s reload 向主进程发送信号,重新加载配置文件,热重启
nginx -s reopen 重启 Nginx
nginx -s stop 快速关闭
nginx -s quit 等待工作进程处理完成后关闭
nginx -T 查看当前 Nginx 最终的配置
nginx -t 检查配置是否有问题
nginx -c configfilePath 指定配置文件启动nginx

Nginx信号

信号名 含义
stop 直接停止
quit 优雅的退出:有人在访问不会结束进程
reopen 分割日志
reload 重新加载配置文件
term 快速停止nginx进程,可能会中断现有连接,与stop信号类似。
usr1 重新打开日志文件,用于日志切割或日志重定向,与reopen信号类似。
usr2 平滑地升级nginx可执行文件。
hup 重新加载配置文件,优雅地应用新配置,与reload信号类似。
winch 当nginx以master/worker工作模式运行时,重新生成worker进程以适应新的配置。
usr3 向worker进程发送自定义信号。

启动Nginx

三、HTTPS访问配置(自签名)

3.1、SSL简介

SSL (Secure Sockets Layer)安全套接层。主要任务是提供私密性,信息完整性和身份认证。

3.2、SSL协议介绍

SSL是一个不依赖于平台和应用程序的协议,位于TCP/IP协议与各种应用层协议之间,为数据通信提高安全支持。

3.3、传输过程

1.发送数字证书,获取可信的public key

2.通过public key发送对称密钥,接收方用私钥解密

3.通信双方使用仅仅对方可知的对称密钥进行加密传输

3.4、HTTPS工作流程

1 客户端(浏览器)访问网站
2 网站服务器返回HTTPS使用的CA证书
3 浏览器验证CA证书是否为合法证书
4 验证通过,证书合法,生成一串随机数并使用公钥(证书中提供的)进行加密
5 发送公钥加密后的随机数给网站服务器
6 网站服务器拿到密文,通过私钥进行解密,获取随机数(公钥加密,私钥解密,反之也可以)
7 网站服务器把要发送给浏览器的内容,使用随机数进行加密后传输给浏览器(对称加密)
8 此时浏览器可以使用随机数进行解密,获取到服务器的真实传输内容

3.5、生成证书

[root@nginx1 ~]#openssl genrsa -out rsa1024.key 1024
[root@nginx1 ~]#openssl req -new -key rsa1024.key -out rsa1024.csr
[root@nginx1 ~]#openssl x509 -req -days 365 -in rsa1024.csr -signkey rsa1024.key -out rsa1024.crt

3.6、自签名证书

四、location配置

4.1、作用

                         配置路径

4.2、匹配

匹配规则
精准匹配 =
正则匹配,区分大小写 ~
正则匹配,不区分大小写 ~*
匹配到即停止搜索 ^~

匹配优先级

= > ^~ > ~ > ~* > 不带任何字符 “/”。

4.3、配置方案

                       cd /usr/local/nginx /conf  

                          vim nginx.conf

(查看文件)

(查看图片)

(1)location中的反斜线,代表后面的名字是一个文件夹名

location /test {

...

} 优先查找目录,若目录不存在则查找同名文件

location /test/ {

...

} 只查找目录

(2)return

停止处理请求,直接返回响应码或重定向到其他URL;执行return指令后,location中后续指令将不会被执行。

例如:
location / {
    return 404 "pages not found";
}   #直接返回状态码

五、rewrite配置

根据指定正则表达式匹配规则,重写 URL 。应用场景: 新老域名的更替

5.1、语法

rewrite 正则表达式 要替换的内容 [flag]

5.2、可写入字段

server、location、if

示例:

rewirte /images/(.*\.jpg)$ /pic/$1; # $1是前面括号(.*\.jpg)的反向引用
flag可选值含义
last: 重写后的 URL 发起新请求,再次进入 server 段,重试 location 的中的匹配
break :直接使用重写后的 URL ,不再匹配其它 location 中语句
redirect :返回 302 临时重定向
permanent :返回 301 永久重定向。

5.3、文件配置

六、配置Nginxz状态统计

6.1、下载vts模块

6.2、编译安装

6.3、配置状态统计页面


网站公告

今日签到

点亮在社区的每一天
去签到