nginx简单使用教程

前言

最近项目nginx + tomcat用的比较多,所以搞篇文章记录下。

安装

通过各种包管理器,直接install就完事了。或者通过docker安装也挺方便的。当然还可以通过源码包自己编译安装。

nginx最重要的就是它配置文件的目录,直接用nginx -t就可以查看。

可以通过在浏览器里访问看能否成功就可以知道有没有部署成功,失败的话大概率就是iptables/firewall进行了拦截,按照对应的配置查看即可。

常用命令

  1. 查看版本号nginx -v

  2. 关闭:nginx -s stop

  3. 启动:nginx

  4. 重新加载配置:nginx -s reload

更多使用请查看nginx -h

配置文件

配置文件可以简略分成三个部分。全局块、events块和http块

全局块

写在这里的配置文件,主要会设置影响Nginx整体运行的配置指令。

默认情况下,只有一条语句是生效的:

1
2
#user  nginx;
worker_processes 1;

events块

主要影响Nginx与用户之间的网络连接。

1
2
3
events {
worker_connections 1024;
}

http块

代理、缓存、日志等绝大部分的功能都在这里进行了配置。也是我们配置最频繁的地方。下面又包含了很多server块,即俗称的虚拟主机部分。

为了便于管理,Nginx也巧妙的通过include /etc/nginx/conf.d/*.conf;来指定别的地方的配置文件,便于我们更有条理的存放。

配置实例

反向代理01

通过Nginx直接跳转到Tomcat里。

配置也很简单,只需要修改一下下即可:

1
2
3
4
5
location / {
root /usr/share/nginx/html;
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}

这样Nginx就会转发给本机的8080端口的tomcat了,也就实现了反向代理功能。这里我自己发现配置完了连不上,最后发现是因为我之前把lo的网卡给down掉了….

反向代理02

上面的例子是不论路径,统统都转到8080的tomcat里面去,但是有的时候我们需要根据路径的不同,来分别前往不同的Tomcat。

其实就是通过修改location来匹配不同的路径而已…. location后面可以接四种符号(非必需)用来标识不同的请求处理:

  • ~:区分大小写的正则表达式
  • ~*:不区分大小写的正则表达式
  • =:严格匹配
  • ^~:不含正则表达式,找到匹配程度最高的。

负载均衡

平均分摊到多个Tomcat上面。只需要写好你需要负载均衡的服务器,然后Nginx就会帮你做负载均衡了。