Nginx网站服务配置

166 阅读4分钟

Nginx概述

Nginx:

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。 对HTTP并发连接的处理能力高,单台物理服务器可支持30000~50000个并发请求。

Apache:

Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器

什么是Nginx?

Nginx是一个轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3和IMAP协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、腾讯等。

Nginx有哪些优点?

·跨平台、配置简单。

。异步非阻塞、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发。·内存消耗小:开启10个Nginx才占150M内存。

·成本低廉,且开源。

。稳定性高,宕机的概率非常小。

'内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上

Nginx应用场景?

. http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

·虚拟主机。可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。

·反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。

. nginx中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截. 心

Nginx和Apache的差异

20220927090727.png

image.png

--------编译安装Nginx服务--------

1.关闭防火墙,将安装nginx所需软件包传到/opt目录下

image.png

20220927145500.png

2.安装依赖包

image.png

20220927145650.png

3.创建运行用户、组

(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

useradd -M -s /sbin/nologin nginx

20220927145821.png

4.编译安装Nginx

image.png

20220927145955.png

20220927150359.png

20220927150448.png

20220927150544.png

5.检查、启动、重启、停止 nginx服务

image.png

image.png

20220927150919.png

20220927151527.png

20220927151527.png

日志分割(移走原有日志,重新打开日志文件)

20220927152714.png

新版本升级:

image.png

6.添加 Nginx 系统服务

方法一

image.png

20220927155738.png

20220927155901.png

方法二

image.png

20220927160218.png

20220927160138.png

访问本机

20220927172343.png

Nginx服务的主配置文件

--------认识Nginx服务的主配置文件 nginx.conf--------

image.png

全局块(全局配置)

vim /usr/local/nginx/conf/nginx.conf

image.png

ngnix两种进程

master process主进程

worker process工作进程

20220927165947.png

20220927162911.png

events块( I/O 事件配置)

image.png

20220927163129.png

查看Nginx支持的最大并发量

软件配置支持多少并发量,由主配置文件nginx.conf决定

20220927164147.png

系统会限制本地每个用户进程可以同时打开的最大文件数量,即系统会限制每个进程的连接数。

查看系统支持多少并发量:

使用"ulimit -a"可查看系统允许当前用户进程打开的文件数限制

20220927164415.png

修改系统支持的最大并发量:

“ulimit -n 65535”命令可临时修改本地每个用户进程可以同时打开的最大文件数。

vim /etc/security/limits.conf,编辑该文件可永久修改。

20220927164859.png

20220927171158.png

HTTP 配置

image.png

20220927171613.png

location块

location常见配置指令:root、alias、proxy_pass

root(根路径配置):root /var/www/html 请求www.yuji.com/test/1.html,会返回文件/var/www/html/test/1.html

alias(别名配置,即虚拟路径):alias /var/www/html 请求www.yuji.com/test/1.html,会返回文件/var/www/html/1.html

示例一:

image.png

示例二:

image.png

访问状态统计配置

1.先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块

image.png

20220928135128.png

20220928135405.png

2.修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置

image.png

20220928140617.png

3.重启服务,访问测试

image.png

20220928141117.png

20220928141117.png

20220928141138.png

20220928142241.png

监控nginx当前并发数量

20220928142339.png

--------基于授权的访问控制--------

1.生成用户密码认证文件

image.png

20220928143858.png

20220928144053.png

2.修改主配置文件相对应目录,添加认证配置项

image.png

20220928144551.png

3.重启服务,访问测试

image.png

20220928144728.png

20220928144806.png

20220928144818.png

--------基于客户端的访问控制--------

访问控制规则如下:

deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。

allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。

规则从上往下执行,如匹配则停止,不再往下匹配。

image.png

20220928150319.png

20220928150335.png

20220928150659.png

20220928150208.png