吉林市做网站哪家好,建设云购网站,博物馆网站建设经验,网页游戏排行榜人气Nginx 稳定性高 #xff08;但是没有apache稳定) 版本号#xff1a;1.12 1.20 1.22 系统资源消耗低 (处理http请求的并发能力很高#xff0c;单台物理服务器可以处理30000-50000个并发请求) 稳定#xff1a;一般在企业中#xff0c;为了保持服务器稳定#xff0c;并发量的…Nginx 稳定性高 但是没有apache稳定) 版本号1.12 1.20 1.22 系统资源消耗低 (处理http请求的并发能力很高单台物理服务器可以处理30000-50000个并发请求) 稳定一般在企业中为了保持服务器稳定并发量的设置在20000个左右。 占用内存2M左右keep-alive则占用内存在3M左右 Nginx主要功能 静态文件服务nginx可以直接提供静态文件的服务如 HTML,CSS,AVAScript图片等能够高效地处理并且响应静态文件的请求反向代理可作为反向代理的服务器将客户端的请求转发给后端多个服务器并且可以实现负载均衡高可用从而提高整个集群的性能以及可靠性。客户端请求时沟通代理服务器会把请求流量按轮询算法转发到后台不通的服务器上实现负载均衡高可用。处理动态内容Nginx处理动态内容很差php node.is java python nginx可以代理请求然后发送到后端的动态服务处理动态服务器理完之后Nginx来把动态请求响应给客户端。SSL/TLS加密HTTPS的加密方式数字证书验证机制。虚拟主机Nginx可以在一台服务器上设置多个虚拟主机同一个服务器上可以有多个域名和站点URL重定向可以实现灵活的url重写和重定向。缓存功能Nginx自带缓存功能。日志功能可以详细的记录请求的信息包括访问时间请求路径 ip地址响应状态有助于故障排查 系统控制的日志记录在/ar/log/messages 业务日志aess.og error.log aess记录的谁访问我了都是访问成功的记录 error日志也记录谁访问了我但是记录的是访问失败的记录。 正向代理
客户端 —— (运营商) —— nginx服务器 —— web服务器
VPN也是典型的正向代理已知后端服务器请求只会往固定的服务器发送 反向代理
客户端 —— nginx服务器代理 —— ( 通过轮询算法随机指向其中一台web服务器 ) —— web服务器1 或 web服务器2 或 web服务器3 这三天服务器称之为集群
从而实现了高可用、负载均衡 Nginx的主要应用场景 静态服务反向代理、负载均衡缓存服务动态服务 Nginx是如何实现高并发的 *面 Nginx自身代码的问题: 大量的底层代理进行了优化同时自带了一个功能模块。epol模块支持高并发。Nginx也是一个master进程控制多个work进程。master负责收集和分发请求work是实际执行者。每一个请求进来master就会拉起一个work进程处理请求同时master进程也负责监控worker的状态 worker的数量和cpu要一致或者是cpu的2倍. worker处理请求的过程中只受内存大小的限制。所以可以处理多个请求再加上nginx本身就是轻量级的服务处理请求时占用的内存本身就很少所以可以起到大并发处理的能力。 二者之间相互依赖相互补充 建立 Nginx 服务
关闭防火墙 systemctl stop firewalld setenforce 0 安装依赖包 yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel 创建运行用户、组 useradd -M -s /sbin/nologin nginx Nginx 服务程序默认以 nobody 身份运行建议为其创建专门的用户账号以便更准确地 控制其访问权限 编译安装 Nginx tar -xf nginx-1.22.0.tar.gz -C /opt/ 解压nginx安装包 --with-http ssl module\ #http协议的加密模块 --with-http_v2 module\ #安装http2.0模块 --with-http realip module\ #允许nginx获取客户端的真实ip地址 --with-http stub status module\ #可以记录nginx访问状态信息的模块 --with-http_gzip static_module\ #支持页面压缩功能 --with-pcre\ #支持pcre库 --with-stream\ #支持tcp/udp代理模块 --with-stream ssl module\ #tcp/udp的加密横块 --with-stream realip module #允许nginx作为代理服务器时可以获取客户端的ip make -j 4 make install 编译并安装 安装后生成四个文件及功能 conf保存的是所有nginx的配置文件其中最核心的就是nginx.confhtml保存nginx的web文件这是默认目录可改logs保存日志文件的位置sbinnginx二进制的启动脚本可以结合不同 50x.html是nginx默认的错误页面显示 添加Nginx系统服务 vim /lib/systemd/system/nginx.service [Unit] Descriptionnginx - high performance web server Documentationhttp://nginx.org/en/docs/ Afternetwork-online.target remote-fs.target nss-lookup.target Wantsnetwork-online.target [Service] Typeforking PIDFile/usr/local/nginx/run/nginx.pid #注意文件位置如果不对 启动不了 ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #注意启动文件位置 ExecReload/bin/kill -s HUP $MAINPID ExecStop/bin/kill -s TERM $MAINPID [Install] WantedBymulti-user.target 赋权限 chown -R nginx.nginx /usr/local/nginx #修改权限 常用命令 nginx -t检查配置文件是否配置正确。nginx -v查看niginx的版本号nginx -s向主进程传输信号 —— 停止、开启、重启、重新加载niginx -c设置配置文件的默认路径ulimit -a 信号符
信号符结合kill命令使用 kill -USR1 pid号 #日志分割kill -s HUP pid号 #只要是kill,只能跟pid号重新加载killall -s HUP nginx #可以跟服务名也可以用pid号kill -s QUIT pid号 #优雅退出有人访问时不会结束进程访问完后才会结束进程kill -s WHICH pid号 #优雅介绍work进程请求结束后才结束work 创建目录 mkdir -p /usr/local/nginx/run/ 修改配置文件 vim /usr/local/nginx/conf/nginx.conf pid /usr/local/nginx/run/nginx.pid #找到 pid的位置修改 重启服务 systemctl daemon-reload systemctl restart nginx 重新加载配置并重启服务 全局配置的模块 events模块配置影响nginx服务器与用户之间的网络链接http模块只要是针对http请求的配置代理缓存日志反向代理虚拟web主 机也可写在stream中server块 非http请求的方式不能写在该模块当中 反向代理七层四层方向代理不能写在http的模块.server块配置虚拟主机的相关参数一个HTTP模块当中可以有多个server模块 包含在HTTP模块中不能单独设置location块匹配的是uri包含在server当中不能单独设置 location模块中 root和alias的区别 *面 root指定的目录和location匹配的uri之间做的一个拼接 /opt/ky30/这俩个路径都真实存在而且都是目录并且uri目录里面要有web文件。alias : 匹配指定路径下的web文件 /root后面有没有 / 无所谓加不加都可root标签可以使用重定向 alias加了 / 后面也必须有 / 否则匹配不到alias不可以设置重定向 porxy_pass反向代理upstream反向代理指定服务器的命令在HTTP模块中 七层基于IP和端口走HTTP协议stream四层走的是TCP或者udp流量不能写入HTTP写在全局配置 修改Linux服务器最大打开文件数 *面
events块中 —— worker_connections 1024 代表默认的最大进程连接数为1024
修改连接数有两种方法如下 可在命令行修改 ulimit -n 65535 vim /etc/security/limits.conf * soft nproc 65535 最大进程数软限制为 65535即可以使用 ulimit -u 命令查看和修改的值 * hard nproc 65535 最大进程数硬限制为 65535即最大可分配的进程数 * soft nofile 65535最大打开文件数软限制为 65535可以使用 ulimit -n 命令查看和修改值 * hard nofile 65535最大打开文件数硬限制为 65535即最大可分配的文件数