nginx做前端服务器不转发请求(Nginx环境搭建及前端部署教程(Windows版))
1 、Nginx简介
Nginx (engine x) 是一个轻量级 、高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务 。几乎可以做到 7 * 24 小时不间断运行 ,即使运行几个月也不需要重新启动 ,还能在不间断服务的情况下对软件版本进行热更新 。性能是 Nginx 最重要的考量 ,其占用内存少 、并发能力强 、能支持高达 5w 个并发连接数 ,最重要的是 , Nginx 是免费的并可以商业化 ,配置使用也比较简单 。Nginx提高了网站的响应速度 ,优化了用户体验 ,增加了网站的健壮性 。
2 、Nginx特点
①反向代理
在客户端与服务器端增加过渡服务器 ,即反向代理 。客户端对代理是无感知的 ,客户端无需配置即可访问 ,客户端将请求发送至反向代理服务器,反向代理服务器根据策略选择目标服务器获取数据 ,再返回至客户端 。而向客户端暴露的仅是反向代理服务器地址 ,从而隐藏真实服务器的地址 。
②负载均衡
通俗的讲就是将网络压力分担在多个单元 。负载均衡建立在现有网络结构之上,提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽 、增加吞吐量 、加强网络数据处理能力 、提高网络的灵活性和可用性 。
Nginx给出来三种关于负载均衡的方式:
轮询法(默认方法):
每个请求按时间顺序逐一分配到不同的后端服务器 ,如果后端服务器挂掉 ,能自动剔除 。适合服务器配置相当 ,无状态且短平快的服务使用 。也适用于图片服务器集群和纯静态页面服务器集群 。
weight权重模式(加权轮询):
指定轮询几率 ,weight和访问比率成正比 ,用于后端服务器性能不均的
情况。这种方式比较灵活 ,当后端服务器性能存在差异的时候 ,通过配置权重 ,可以让服务器的性能得到充分发挥 ,有效利用资源 。weight和访问比率成正比 ,用于后端服务器性能不均的情况 。权重越高 ,在被访问的概率越大
ip_hash:
前两种方式的缺点是:在负载均衡系统中 ,假如用户在某台服务器上登录了,那么该用户第二次请求的时候可能会重新定位到集群中其他服务器 ,那么之前的登录信息将会丢失。所以可以采用ip_hash指令解决该问题 ,如果客户已经访问了某个服务器,当用户再次访问时 ,会将该请求通过哈希算法 ,自动定位到该服务器 。每个请求按访问ip的hash结果分配 ,这样每个访客固定访问一个后端服务器 ,可以解决session的问题 。
③动静分离
Nginx的静态处理能力很强 ,但是动态处理能力不足 ,因此 ,在企业中常用动静分离技术 。动静分离技术其实是采用代理的方式 ,在server{}段中加入带正则匹配的location来指定匹配项针对PHP的动静分离:静态页面交给Nginx处理 ,动态页面交给PHP-FPM模块或Apache处理 。在Nginx的配置中 ,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式
3 、Nginx安装
①官网下载稳定版本
下载地址:http://nginx.org/en/download.html
②解压到安装目录
4 、Nginx启动
启动方式一:双击nginx.exe ,双击后你能看见一个小黑窗口一闪而过 。
启动方式二:打开cmd命令窗口 ,切换到nginx解压目录下,输入命令 nginx.exe ,回车即可注意:如果安装目录是中文的情况 ,打开exe文件时会报错 。
打开浏览器:浏览器地址栏输入网址 http://localhost:80 回车,出现以下页面说明启动成功!
5 、Nginx配置监听
nginx的配置文件是conf目录下的nginx.conf ,默认配置的nginx监听的端口为80 ,如果80端口被占用可以修改为未被占用的端口即可 。
当修改了nginx的配置文件nginx.conf 时 ,不需要关闭nginx后重新启动nginx ,只需要执行命令 nginx -s reload 即可让改动生效
6 、Nginx关闭
方法一:(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx) ,这两个命令的区别在于nginx -s stop是快速停止Nginx ,而nginx -s quit是有序的停止Nginx ,前者可能会导致数据没有完全保存;
方法二:(2)使用taskkill taskkill /f /t /im nginx.exe
方法三:任务管理器杀死所有Nginx进程
7、Nginx常用命令
nginx -s reopen #重启Nginx nginx -s reload #重新加载Nginx配置文件 ,然后以优雅的方式重启Nginx nginx -s stop #强制停止Nginx服务 nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务) nginx -t #检测配置文件是否有语法错误 ,然后退出 nginx -?,-h #打开帮助信息 nginx -v #显示版本信息并退出 nginx -V #显示版本和配置选项信息 ,然后退出 nginx -t #检测配置文件是否有语法错误 ,然后退出 nginx -T #检测配置文件是否有语法错误 ,转储并退出 nginx -q #在检测配置文件期间屏蔽非错误信息 nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/) nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf) nginx -g directives #设置配置文件外的全局指令 killall nginx #杀死所有nginx进程8 、Nginx前端部署
①以上面项目为例,复制前端项目路径
F:\learnany\springboot-ehr\ehr-admin
②配置nginx.conf
打开nginx文件夹下的conf文件夹下的nginx.conf文件 。
找到location下的root一行 ,将html替换为静态网页的路径保存即可 。
③启动Nginx即可
浏览器访问:http://localhost:80
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!