nginx的简单运用
2种启动方法:一种是解压后点击nginx.exe来运行,会有个屏幕一闪而过,这个时候,其实已经启动成功了。因为默认的端口号是80,所以可以打开访问地址:htttp://127.0.0.1可以看到下面。
第二种:命令行方式
假设nginx在d:/software/nginx目录下,那么就需要通过如下命令启动:start nginx
关闭方式:nginx -s stop
端口号修改:
可以修改为其他端口号,打开nginx目录下的conf/nginx.conf文件,然后找到listen 80,修改为9090,关闭nginx再启动,就可以通过如下地址访问了:
http://127.0.0.1:9090/
注: 也可以通如下命令进行重启:nginx -s reload
nginx.conf 是nginx的核心配置文件,里面的内容也不少,主要有几个开发人员需要关心的:
- 端口号
listen 80;
这个在端口号修改中已经提到了
- 页面存放位置:
root html;
表示页面都存放在nginx的html目录下
- 欢迎页面
index index.html index.htm;
默认会访问index.html或者index.htm文件
反向代理概念:
所谓的反向代理,指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了。
在当前教程指的就是访问nginx,但是nginx把请求交给tomcat来做。
然后修改nginx.conf,主要是30-42行
location / {
proxy_pass http://127.0.0.1:8111;
}
location / 表示处理所有请求
proxy_pass http://127.0.0.1:8111; 表示把请求都交给http://127.0.0.1:8111来处理
使用如下命令重启 nginx
nginx -s reload
然后访问地址:
http://127.0.0.1/
既然直接通过127.0.0.1:8111/login.jsp 可以访问,那么干嘛要通过127.0.0.1/login.jsp 去反向代理到tomcat呢? 为什么不直接使用tomcat呢?
因为nginx在处理静态文件的吞吐量上面比tomcat好很多,通常他们俩配合,不会把所有的请求都如本例所示的交给tomcat, 而是把静态请求交给nginx,动态请求,如jsp, servlet,ssm, struts等请求交给tomcat. 从而达到动静分离的效果。 接下来就会讲解如何进行动静分离。
动静分离概念:
所谓的动静分离就是指图片,css, js之类的都交给nginx来处理,nginx处理不了的,比如jsp 就交给tomcat来处理~
好处是nginx处理静态内容的吞吐量很高,比tomcat高多了,这样无形中提升了性能。
在locaction下面添加一个新的location:
location ~\.(css|js|png)$ {
root C:/Users/X7TI/Downloads/tomcat_8111/webapps/ROOT;
}
这表示所有的css js png访问都由nginx来做,访问的地址是
C:/Users/X7TI/Downloads/tomcat_8111/webapps/ROOT
这里要注意,填写本地地址的时候,要用正斜杠 / 不要用反斜杠 \
负载均衡概念:
负载均衡的概念就是当访问量很大的时候,一个 Tomcat 吃不消了,这时候就准备多个 Tomcat,由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力。
首先增加一个upstream ,用来指向这两个tomcat
upstream tomcat_8111_8222{
server 127.0.0.1:8111 weight=1;
server 127.0.0.1:8222 weight=2;
}
然后修改location,反向代理到上述配置。
location / {
proxy_pass http://tomcat_8111_8222;
}
weight表示权重,值越大,被分配到的几率越大。 最大多少呢?我也不知道。。