nginx初步学习-配置反向代理
Posted 专注着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx初步学习-配置反向代理相关的知识,希望对你有一定的参考价值。
因工作需要,在工作中尝试做了nginx的反向代理的功能。因此做了一些自己学习和理解的心得。 (新手才开始,其他人不喜欢,勿喷)(nginx的安装等请在网络上自行查找)
以下为我自己配置的nginx.conf的简单配置。具体优化说明,会在后面的博客中具体说明。
# user用来定义nginx的用户组
#user nobody;
# 设置nginx的进程数,(建议为当前系统的核心数)
worker_processes 2;
#输出nginx的错误日志。主要是在启动nginx时的错误信息的记录
error_log logs/error.log;
#进程文件
pid logs/nginx.pid;
events
#单个进程最大连接数(最大连接数=连接数*进程数)
worker_connections 1024;
#设定http服务器
http
#文件扩展名与文件类型映射表
include mime.types;
#默认文件类型
default_type application/octet-stream;
#默认编码
charset utf-8;
#该http服务器的日志记录,其中记录了访问的一些浏览器信息、系统信息等
access_log logs/access.log;
#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,
#如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
sendfile on;
#长连接超时时间,单位是秒
keepalive_timeout 65;
#设置反向代理。
#反向代理配置,是将nginx作为前端代理服务器,所有的请求都会经过nginx,nginx会根据具体的配置信息
#将请求转发到对应的服务器
upstream websocket.com #websocket.com 服务器集群的名称
server 127.0.0.1:7001 weight=6; #配置的weblogic的服务器。weight为权重,权重值越大,被分配的几率越高
server 127.0.0.1:8081 weight=1; #配置的apache tomcat服务器
#虚拟主机的配置
server
#监听端口
listen 80;
#域名可以有多个,用空格隔开
server_name localhost;
location /angulerjs/ #将请求转发给对应服务器
proxy_pass http://websocket.com/angulerjs/; #代理服务器的路径,这里用到了反向代理的名称。其中的auglerjs为需要具体具体服务器的应用名称(根据具体配置为准)
proxy_redirect default;
以上的配置中,我在本地运行了weblogic(127.0.0.1:7001)和apache tomcat(127.0.0.1:8081)两个服务器,这两台服务器中都部署了anglerjs的web项目。
在上述配置中,我将关于"/websocket"相关的请求,均分发给以上两台服务器处理,静态资源nginx不做管理。
以上文件配置完成之后,执行 nginx -s reload 重新部署nginx。
在浏览器中访问: http://localhost/
在做以上访问,会自动跳转到angulerjs的indexjsp的页面,具体页面如下:
当尝试停止两台服务器中的一台之后,继续访问页面,也不会出现宕机的情况,第一次配置nginx就这样成功了,后续会更新关于nginx的其他配置和实践。
希望得到大家的支持。
以上是关于nginx初步学习-配置反向代理的主要内容,如果未能解决你的问题,请参考以下文章