nginx的简单使用
这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【nginx的简单使用】 【修真院java小课堂】nginx的简单使用 大家好,我是IT修真院上海分院第10期的学员许东杰,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java(职业)任务2,深度思考中的知识点——nginx代理服务器 (1)背景介绍: 负载均衡: web项目开发完成后需要部署在服务器上(tomcat、jetty等),当高并发访问时,服务器会很卡,负载均衡就是添加了好几台服务器来分担这些访问从而减少服务器压力的。 Nginx就是这样一种用于负载均衡的代理服务器。 (2)知识剖析: 应用Nginx的两种主要功能 nginx:反向代理服务器,专门做均衡负载和静态代理的一款开源的c语言写的web服务器,轻量级,能很好的对大量数据进行存储。 负载均衡:nginx本质也是一种服务器,可以看成是其他服务器的一个总代理,请求过来时会根据配置来动态分配请求访问的服务器。 静态代理:tomcat处理大量的图片数据会非常慢,于是用nginx来进行代理,进行动静分离,这样tomcat直接调用nginx上的数据图片就可以了 (3)常见问题: 部署两个本地服务器的时候,只能启动一个 (4)解决方案: 把本地tomcat服务器的环境变量删掉,然后把第二个服务器的3个端口改一下。 (5)编码实战: 负载均衡和静态代理配置: #user nobody; worker_processes? 1; #error_log? logs/error.log; #error_log? logs/error.log? notice; #error_log? logs/error.log? info; #pid? ? ? ? logs/nginx.pid; events { ? ? worker_connections? 1024; } http { #include vhost/*.conf;#导入其他配置文件 ? ? include? ? ? mime.types; ? ? default_type? application/octet-stream; ? ? #log_format? main? '$remote_addr - $remote_user [$time_local] "$request" ' ? ? #? ? ? ? ? ? ? ? ? '$status $body_bytes_sent "$http_referer" ' ? ? #? ? ? ? ? ? ? ? ? '"$http_user_agent" "$http_x_forwarded_for"'; ? ? #access_log? logs/access.log? main; ? ? sendfile? ? ? ? on; ? ? #tcp_nopush? ? on; ? ? #keepalive_timeout? 0; ? ? keepalive_timeout? 65; ? ? #gzip? on; #负载均衡配置 ? ? ? upstream localhost{ server localhost:8888 weight=1;#优先级 server localhost:8889 weight=1; ? ? ? } ? ? server { ? ? ? ? listen? ? ? 80; ? ? ? ? server_name? www.xudongjie.com; ? ? ? ? #charset koi8-r; ? ? ? ? #access_log? logs/host.access.log? main; ? ? ? ? location / { ? ? ? ? ? ? #root? html; ? ? ? ? ? # index? index.html index.htm; ? ? proxy_set_header? Host? ? ? ? ? ? ? $host;? # required for docker client's sake ? ? ? ? ? ? proxy_set_header? X-Real-IP? ? ? ? $remote_addr; # 获取用户的真实IP地址 ? ? ? ? ? ? proxy_set_header? X-Forwarded-For? $proxy_add_x_forwarded_for; ? ? proxy_pass http://localhost; ? ? ? ? } ? ? ? ? error_page? 500 502 503 504? /50x.html; ? ? ? ? location = /50x.html { ? ? ? ? ? ? root? html; ? ? ? ? } ? ? } ? server { ? ? ? ? listen? ? ? 80; ? ? ? ? server_name? image.xudongjie.com; root E:/nginx/statictext/; ? ? ? ? charset utf-8; ? ? ? ? #access_log? logs/host.access.log? main; ? ? ? ? location / { root E:/nginx/statictext/; index index.html; #可以指定文件名称 index index.html; ? ? ? ? } ? ? ? ? error_page? 500 502 503 504? /50x.html; ? ? ? ? location = /50x.html { ? ? ? ? ? ? root? html; ? ? ? ? } ? ? } } (6)拓展思考: (7)参考文献: 百度、谷歌 (8)更多讨论: Q1:静态代理在实际中的运用? A1:实际中把静态的图片页面等放到nginx服务器目录下,当tomcat要调用这些资源的时候直接访问nginx服务器取读取。 Q2:提问人:静态代理还有别的方式吗 A2:可以不用虚拟主机,在一个主机中根据访问路径的后缀来进行访问页面的分离,向.html就分配到本地静态库,.jsp就分配到服务器tomcat上。 ? (9)结束语: 今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~ PPT链接?视频链接 更多内容,可以加入IT交流群565734203与大家一起讨论交流 这里是技能树·IT修真院:,初学者转行到互联网的聚集地 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |