1.nginx几个作用
(1)使用nginx作为web服务器
设计的一个最初的原因是可以将nginx作为一个静态服务器访问,nginx部署完成之后可以直接在根路径HTML下放入html,css,javaScript之类的静态资源文件,直接以静态web服务器的方式暴露出去给用户提供静态页面的访问。首先会将nginx作为静态的web服务器使用
(2)使用nginx作为动静分离服务器
nginx在做反向代理之后,我们可以已经将对应的静态请求路由在一个本地HTML之中,直接以静态请求资源的方式返回给前端
(3)使用nginx作为反向代理服务器
使用nginx作为一个反向代理服务器,将动态请求反向代理到后端,完成动态资源请求代理的操作,以ajax的方式返回给前端一些固定的json参数,来完成动静分离的服务器使用
2.nginx启动
*****启动:sbin/nginx -c conf/nginx.conf
nginx默认启动端口是80端口,修改nginx.conf文件,修改配置后nginx可以平滑重启sbin/nginx -s reload 指令无缝重启
非平滑重启:配置发生变动,要杀掉对应进程,进程杀掉重新启动,杀掉进程原本属于这个进程的socket连接也断了,用户可以明显的感觉到服务器的重启,并且影响服务的请求。
平滑重启: 用户的链接不会断但是进程号变了。
*****动态资源如何使用,做nginx的反向代理服务器:
1.首先设置upstream server,
2.设置动态请求location为proxy pass代理路径
3.启动tomcat access log验证
确定访问的是不是我们部署的服务器的tomcat,看一下服务器的日志,开启服务器的tomcat log,可以关注定位问题以及观察性能消耗。
3.nginx高性能的原因
1.epoll多路复用:非阻塞io操作
2.master work的进程,可以进行平滑重启:
平滑的加载配置不会断开,不会断开与客户端连接,可以依赖于进程模型完成对应的操作
3.协程机制
完成单进程上单线程模型,却又可以支持并发的编程的调用接口