目录
[SSL/TLS 加密支持](#SSL/TLS 加密支持)
[URL 重写和重定向](#URL 重写和重定向)
nginx功能介绍
Nginx 是一款高性能的开源 Web 服务器和反向代理服务器,它具有以下主要功能:
静态文件服务
Nginx 可以直接提供静态文件的服务,例如 HTML、CSS、JavaScript、图像等。
它能够高效地处理并响应静态文件的请求。
反向代理
Nginx 可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器。
它可以实现负载均衡、高可用性和故障转移,提供更好的性能和可靠性。
动态内容处理
Nginx可以与后端应用服务器(如 PHP-FPM、Node.js、Java 应用服务器等)配合使用,
实现动态内容的处理和执行。它可以代理动态请求,并将请求的结果返回给客户端。
SSL/TLS 加密支持
Nginx 支持通过 SSL/TLS 对客户端和服务器之间的通信进行加密,
提供安全的 HTTPS 连接。
虚拟主机支持
Nginx 支持配置多个虚拟主机,使得可以在同一台服务器上托管多个域名或站点。
每个虚拟主机可以拥有独立的配置和资源。
URL 重写和重定向
Nginx 支持灵活的 URL 重写和重定向规则,可以对请求的 URL 进行修改和重定向,
实现 URL 的美化和重定向策略。
缓存机制
Nginx 提供了强大的缓存功能,可以缓存静态文件和动态内容,
以减轻后端服务器的负载并提供更快的响应速度。
日志记录
Nginx 能够记录访问日志和错误日志,可以记录请求的详细信息,包括访问时间、请求路径、
IP、响应状态等,帮助进行故障排查和性能分析。
可扩展性和灵活性
Nginx 的模块化架构和强大的配置选项使得它具有很高的可扩展性和灵活性。
你可以通过加载不同的模块和自定义配置来满足特定的需求。
nginx的主要应用场景
1、静态服务
2、反向代理,负载均衡
3、缓存服务
4、动态服务
nginx常用命令
nginx -t:检查配置文件是否配置正确
nginx -v:查看nginx的版本号
nginx -s:向主进程传输信号(停止、开启、重启、重新加载)
nginx -c:设置配置文件的默认路径
nginx另外一种安装方式
epel源
yum install -y epel-release
yum install nginx -y
nginx常用的信号符:
信号符结合kill命令
kill -USR 1 pid号 #日志分割
kill -s HUP pid号 #只要是kill,只能跟pid号,重新加载
killall -s HUP nginx #用killall可以跟服务名,也可以用pid号
kill -s QUIT pid号 #优雅退出,有人访问时,不会结束进程,访问完了,才会结束进程
kill -s WINCH pid号 #优雅的结束worker,直到请求完成,才会结束worker进程
nginx配置文件详解
work_processes 1; #工作进程也就是worker进程的数量,一般是配置成cpu数一致或者2倍。一般来说小网站设置成1,足够了。
events块配置影响nginx服务器与用户之间的网络连接
worker_connections 1024; #每个进程可以处理的最大连接数 //ulimit -a 可以查看连接数限制
修改linux服务器文件的最大打开数量:ulimit -n 65535 (linux只支持打开65535) //临时修改
http模块主要是针对http请求的配置,代理、缓存、日志,反向代理,虚拟web主机,server块。
非http请求的方式,不能写在该模块当中。反向代理:七层,四层(不能配置在http模块中)
keepalive_timeout 65; #65秒
gzip on #打开压缩模块
server模块可以配置虚拟主机的相关参数,一个http模块当中,可以有多个server模块,一个server模块对应一个虚拟主机
server {
listen 80;
server_name office.dmsd.tech;
root /nginx/www;
index index.php index.html index.html;
charset utf-8;
access_log logs/access.log;
error_log logs/error.log;
}
location模块匹配的是URI
location / #通用匹配
location = #精确匹配
location模块中
root 拼接,root指定的目录和location匹配的uri之间做的一个拼接,/opt/ky30 这两个路径都要真实存在,而且都是目录,并且,在uri目录里面要有web文件。
alias:匹配指定路径下的web文件
root后面有没有/无所谓 root /opt/
alias加了/,后面也必须有/,否则,匹配不到 alias /opt
root标签可以使用重定向
alias不可以设置重定向
proxy_pass #反向代理配置,也是写在location模块当中