网站开发小程序定制,微网站自助建站后台,网站首页建设方案,杭州全案设计公司目录 一、Nginx概述
二、Nginx三大作用#xff1a;反向代理、负载均衡、动静分离
三、Nginx和Apache
3.1Nginx和Apache的差异
3.2Nginx和Apache的优缺点比较
四、编译安装niginx
五、创建Nginx 自启动文件 六、Nginx的信号使用
6.1信号
七、升级 nginx1.18 nginx1.2…
目录 一、Nginx概述
二、Nginx三大作用反向代理、负载均衡、动静分离
三、Nginx和Apache
3.1Nginx和Apache的差异
3.2Nginx和Apache的优缺点比较
四、编译安装niginx
五、创建Nginx 自启动文件 六、Nginx的信号使用
6.1信号
七、升级 nginx1.18 nginx1.20 一、Nginx概述
Nginx概述
一款高新能、轻量级Web服务软件稳定性高系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30 00050 000个并发请求。
Nginx 功能介绍 静态的web资源服务器html图片jscsstxt等静态资源 http/https协议的反向代理 7层 结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求 tcp/udp协议的请求转发反向代理 4层
基础特性 模块化设计较好的扩展性 高可靠性 支持热部署不停机更新配置文件升级版本更换日志文件 低内存消耗10000个keep-alive连接模式下的非活动连接仅需2.5M内存 event-driven,aio,mmapsendfile
Web 服务相关的功能 虚拟主机server 支持 keep-alive 和管道连接(利用一个连接做多次请求) 访问日志支持基于日志缓冲提高其性能 url rewirte 路径别名 基于IP及用户的访问控制 支持速率限制及并发数限制 重新配置和在线升级而无须中断客户的工作进程
二、Nginx三大作用反向代理、负载均衡、动静分离 反向代理 在服务端 配置客户端 访问服务器A 服务器A 为代理服务器 将客户服务再转发到服务器B 作用缓存将服务器的响应缓存在自己的内存中减少服务器压力 负载均衡将用户请求分配给多个服务器 访问控制 正向代理 在客户端 配置配置完了再去访问具体服务即代理服务器 代理了客户端 再去和目标服务器 进行交互 作用提高访问速度 隐藏客户端真实IP地址 负载均衡分摊到多个操作单元上进行执行例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等从而共同完成工作任务 三、Nginx和Apache
3.1Nginx和Apache的差异
轻量级Nginxt比Apache占用更少的内存及资源静态处理Nginx静态处理性能比Apache高Nginx可以实现无缓存的反向代理加速提高网站运行速度Nginx支持热部署启动速度迅速可以在不间断服务的情况下对软件版本或者配置进行升级Nginx高度模块化编写模块相对简单且组件比Apache少高并发下Nginx能保持低资源低消耗高性能Nginx是异步进程多个连接可以对应一个进程;Apache是同步多进程一个连接对应一个进程Nginx的性能和可伸缩性不依赖于硬件Apache依赖于硬件Nginx配置简洁Apache配置复杂。
3.2Nginx和Apache的优缺点比较
nginx相对于apache的优点∶
轻量级同样起web服务,比Apache占用更少的内存及资源。 高并发Nginx处理请求是异步非阻塞的而Apache是阻塞型的在高并发下Nginx能保持低资源低消耗高性能。 高度模块化的设计。 编写模块相对简。 社区活跃各种高性能模块出品速度apache相对于nginx的优点∶
rewrite比nginx的rewrite强大 模块多基本想到的都可以找到 少bug Nginx的bug相对较超稳定 四、编译安装niginx
安装依赖包 yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel 下载安装包 nginx安装官网https://nginx.org/en/download.html wget http://nginx.org/download/nginx-1.18.0.tar.gz 新建运行用户、组 编译安装nginx tar xf nginx-1.18.0.tar.gz cd nginx-1.18.0/ mkdir /apps/nginx -p ./configure --prefix/apps/nginx \ --usernginx \ --groupnginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre \ --with-stream \ --with-stream_ssl_module \ --with-stream_realip_module make -j2 make install chown -R nginx.nginx /apps/nginx 创建软连接后直接 nginx启动 ln -s /apps/nginx/sbin/nginx /usr/sbin/ 五、创建Nginx 自启动文件 vim /usr/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/apps/nginx/logs/nginx.pid ExecStart/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf ExecReload/bin/kill -s HUP $MAINPID ExecStop/bin/kill -s TERM $MAINPID [Install] WantedBymulti-user.target 重新加载配置、设置开机自启并开启服务 systemctl daemon-reload 重新加载配置 systemctl enable --now nginx 设置开机自起 systemctl status nginx.service 查看服务状态 若出现 问题其一1 如果卡主是应为logs下有 nginx.pid 文件 删除即可
问题其二2检查80端口是否被占用 六、Nginx的信号使用
6.1信号
nginx 命令支持向其发送信号实现不同功能
nginx 当做单独命令使用有以下选项 信号意义nginx -v显示版本显示编译详细情况、模块等信息检查语法格式打印当前配置发送信号立即关闭优雅退出不影响业务重新加载配置文件分割日制优雅升级 信号意义nginx -v显示版本nginx -V显示编译详细情况、模块等信息nginx -t检查语法格式nginx -T打印当前配置nginx -s发送信号nginx -s stop立即关闭nginx -s quit优雅退出不影响业务nginx -s reload重新加载配置文件nginx -s USR1分割日制nginx -s USR2优雅升级nginx -g user lisi;’以lisi身份运行默认是以nginx身份nginx -g daemon off;前台运行命令
七、升级 nginx1.18 nginx1.20 将旧Nginx文件换成新Nginx文件(注意备份) 向master进程发送USR2信号 master进程修改pid文件名加后缀.oldbin master进程用新Nginx文件启动新master进程,系统中将有新旧两个Nginx主进程共同提供Web服务 向旧的Nginx服务进程发送WINCH信号使旧的Nginx worker进程平滑停止并删除Nginx.pid.oldbin文件 向旧master进程发送QUIT信号,关闭老master 如果发现升级有问题,可以回滚向老master发送HUP向新master发送QUIT 添加新模块