前言
最近项目nginx + tomcat用的比较多,所以搞篇文章记录下。
安装
通过各种包管理器,直接install就完事了。或者通过docker安装也挺方便的。当然还可以通过源码包自己编译安装。
nginx最重要的就是它配置文件的目录,直接用nginx -t就可以查看。
可以通过在浏览器里访问看能否成功就可以知道有没有部署成功,失败的话大概率就是iptables/firewall进行了拦截,按照对应的配置查看即可。
常用命令
- 查看版本号 - nginx -v
- 关闭: - nginx -s stop
- 启动: - nginx
- 重新加载配置: - nginx -s reload
更多使用请查看 nginx -h
配置文件
配置文件可以简略分成三个部分。全局块、events块和http块
全局块
写在这里的配置文件,主要会设置影响Nginx整体运行的配置指令。
默认情况下,只有一条语句是生效的:
| 1 | #user nginx; | 
events块
主要影响Nginx与用户之间的网络连接。
| 1 | events { | 
http块
代理、缓存、日志等绝大部分的功能都在这里进行了配置。也是我们配置最频繁的地方。下面又包含了很多server块,即俗称的虚拟主机部分。
为了便于管理,Nginx也巧妙的通过include /etc/nginx/conf.d/*.conf;来指定别的地方的配置文件,便于我们更有条理的存放。
配置实例
反向代理01
通过Nginx直接跳转到Tomcat里。
配置也很简单,只需要修改一下下即可:
| 1 | location / { | 
这样Nginx就会转发给本机的8080端口的tomcat了,也就实现了反向代理功能。这里我自己发现配置完了连不上,最后发现是因为我之前把lo的网卡给down掉了….
反向代理02
上面的例子是不论路径,统统都转到8080的tomcat里面去,但是有的时候我们需要根据路径的不同,来分别前往不同的Tomcat。
其实就是通过修改location来匹配不同的路径而已…. location后面可以接四种符号(非必需)用来标识不同的请求处理:
- ~:区分大小写的正则表达式
- ~*:不区分大小写的正则表达式
- =:严格匹配
- ^~:不含正则表达式,找到匹配程度最高的。
负载均衡
平均分摊到多个Tomcat上面。只需要写好你需要负载均衡的服务器,然后Nginx就会帮你做负载均衡了。