前言
NGINX 是一个非常流行的开源 Web 服务器和反向代理服务器,它可以帮助用户负载均衡(主要体现在可以创建多个服务器,一般将静态资源页面和动态页面分开部署到不同服务器,这样就可以降低服务器压力)、缓存、反向代理、SSL 终止等功能,常用于 Web 应用程序的开发和部署。
什么是 NGINX?(详细介绍)
NGINX 是一个开源的 Web 服务器和反向代理服务器,它使用 Nginx 作为 Web 服务器和反向代理服务器的原因是它拥有高性能、可扩展性和可靠性。它可以处理大量的并发连接,并且可以缓存 HTTP 请求以提高性能。
工作原理
NGINX是由俄罗斯一名程序员开发,于2020年12月15日正式发布公开版本,其工作原理是将 HTTP 请求转发到服务器,然后将响应返回给用户。它可以通过配置来支持缓存、SSL 终止、负载均衡等功能。NGINX 可以运行在多种操作系统上,如 Linux、Windows 等。
NGINX 具有以下功能:
负载均衡:NGINX 可以通过轮询、加权轮询、最小连接数等方法对传入的请求进行负载均衡。
缓存:NGINX 可以缓存 HTTP 请求以提高性能,可以使用 Etag、If-None-Match 等指令来缓存请求。
SSL 终止:NGINX 可以终止 HTTPS 请求并将其转换为 HTTP 请求,以便可以将其传递给 Web 服务器。
反向代理:NGINX 可以充当 Web 服务器和客户端之间的代理,将请求转发到服务器,并将响应返回给客户端。
路由:NGINX 可以根据 URL 将请求转发到不同的服务器,也可以根据请求的参数、状态码等来路由请求。
NGINX 具有以下优点:
高性能:NGINX 可以处理大量的并发连接,并且可以将请求缓存以提高性能。
可扩展性:NGINX 可以轻松地扩展以处理更多的请求,并且支持多种插件和模块。
可靠性:NGINX 具有高可靠性,可以在没有管理员干预的情况下自动处理故障和恢复。
易于配置:NGINX 的配置非常简单,并且提供了丰富的文档和教程来帮助用户快速上手。
总的来说,NGINX 是一个非常强大的 Web 服务器和反向代理服务器,它可以提高 Web 应用程序的性能和可靠性,并且可以轻松地扩展以处理更多的请求。
一、如何下载
Windows环境下载
1.打开nginx官网
2.点击下载
3.选择稳定版本(windows)
4.然后就是解析安装到指定目录下
注意:博主就将nginx安装至F盘中,各位还请根据实际情况安装哦!
二、启动nginx服务器
1.启动服务器
使用命令提示符进入nginx中,输入一下命令(注意:回车确认是会出现一闪,这是正常现象):
2、再是查看任务进程是否存在,dos或打开任务管理器都行
我们以命令提示查看方式输入一下命令
3、最后一步是打开我们的浏览器访问刚才的域名及端口,nginx默认http://localhost:80或127.0.0.1:80,默认端口号是80,出现Welcome to nginx!就说明部署成功了!
三、如何更改端口,访问地址?(详细讲解)
在配置文件中找到“server”标签,在其中添加以下命令来设置你的域名:
server { listen 80; server_name yourdomain.com; location / { root /usr/share/nginx/html; index index.html; } }
将“yourdomain.com”替换为你的域名。
保存并关闭配置文件。
重新启动 NGINX 服务,以便更改生效
在浏览器中输入你的域名,确保 NGINX 正在运行并且网站可以访问。以上是 NGINX 在 Windows 10 上下载和安装的详细步骤。
四、nginx常用命令(完整而详细)
以下是 NGINX 的所有命令大全,包括启动、停止、重启、查看状态、配置、加载模块、列出守护进程、日志、性能监视等命令:
nginx -h nginx -v nginx -s start/stop nginx -t nginx -c /path/to/nginx.conf nginx -m nginx -s reload nginx -s start nginx -s stop
启动/停止 NGINX:
nginx -s start/stop:启动或停止 NGINX 服务。
查看 NGINX 状态:
nginx -t:检查 NGINX 是否正常工作,并显示任何错误或警告信息。
配置 NGINX:
nginx.conf:打开 NGINX 的主配置文件。您可以在其中添加、编辑或删除配置选项,以自定义 NGINX 的行为。
查找和修改 NGINX 配置:
nginx -c /path/to/nginx.conf:在 NGINX 配置文件中查找或修改特定配置选项。其中,/path/to/nginx.conf是要查找或修改的配置文件的路径。
加载 NGINX 模块:
nginx -m:加载 NGINX 模块。NGINX 支持多种模块,例如缓存、SSL 终止、负载均衡等,可以使用此命令加载这些模块。
列出所有 NGINX 守护进程:
nginx -t:检查 NGINX 守护进程的状态,并显示任何错误或警告信息。
重启 NGINX 守护进程:
nginx -s restart:重启 NGINX 守护进程。
查看 NGINX 日志:
nginx -t:检查 NGINX 日志文件的状态,并显示任何错误或警告信息。
配置 NGINX 日志:
nginx.conf:配置 NGINX 日志文件的位置、大小、写入权限等。
监视 NGINX 性能:
nginx -t:检查 NGINX 性能状态,并显示任何错误或警告信息。
配置 NGINX 性能监视:
nginx.conf:配置 NGINX 性能监视的参数和方式。
这些是 NGINX 的所有命令大全,您可以使用这些命令来配置、管理、监视和维护 NGINX。熟练掌握这些命令可以帮助您更有效地管理 NGINX,并提高其性能。
五、nginx优化
①nginx并发量优化
nginx.conf文件内work_process 是nginx进程数量这个数目最多可以修改为和cpu内核数目一致。
event下的work_connections 可以修改并发数目
②nginx数据包头优化
客户端发送数据包给到web服务器内存再打开,在配置文件里可以修改nginx使用多大的内存打开数据包
在http下client_header_buffer_size 1k #请求包头信息的缓存
large_client_header_buffers 4 4k #大请求包头信息的缓存个数与容量
先用1k内存,如果不够就用4个4k=16k
③nginx缓存时间优化
缓存的时间是有服务端决定的
location下 expire 30d #定义客户端的缓存时间是30天
④nginx的日志切割
logback.sh
date ='date+%Y%m%d'
logpath= /usr/local/nginx/logs
mv $logpath/access.log $logpath/access-$date.log
kill -USR1 $(cat $logpath/nginx.pid)
⑤nginx对页面进行压缩处理
页面的图片文本元素压缩处理
http下gzip on;#所有的浏览器都支持gzip解压
gizp_comp_level 4; #压缩比率
⑥服务器内部缓存优化
访问时资源从硬盘里放到内存里
因为硬盘的效率小于内存的效率
缺点是如果访问硬盘的资源被更改那么内存的相同资源不会更改
http下open_file_cache max=2000 inactive=20s #最多缓存2000个文件,关闭20s内无人访问的文件