Nginx在Linux中的安装

2、查看版本

./nginx -v

3、启动:

./nginx

4、关闭(有两种方式,推荐使用 ./nginx -s quit):

 ./nginx -s stop
 ./nginx -s quit

5、重新加载 Nginx 配置:

./nginx -s reload

Nginx的配置文件

Nginx的配置文件分三部分组成

1、全局块

从配置文件到events块之间,主要是设置一些一下ingNginx服务器主体运行的配置指令

并发服务器的配置,值越大,可以支持的并发处理量越多,




nginx 安装可以直接拷贝吗 nginx安装在哪_nginx 安装可以直接拷贝吗


2、events块

影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 workprocess 下的网络连接进行序列化,是否允许同时接收多个网络连接等等。


nginx 安装可以直接拷贝吗 nginx安装在哪_java_02


3、HTTP 块

 诸如反向代理和负载均衡都在此配置。

location[ = | ~ | ~* | ^~] url{
}

location 指令说明,该语法用来匹配 url,语法如上:

  • =:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。
  • ~:用于表示 url 包含正则表达式,并且区分大小写。
  • ~*:用于表示 url 包含正则表达式,并且不区分大小写。
  • ^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。
  • 如果有 url 包含正则表达式,不需要有 ~ 开头标识。

反向代理

1、配置反向代理

目的:在浏览器地址栏输入地址 www.123.com 跳转 Linux 系统 Tomcat 主页面。

2、具体实现

先配置 Tomcat,因为比较简单,此处不再赘叙,并在 Windows 访问

流程


nginx 安装可以直接拷贝吗 nginx安装在哪_nginx_03


nginx 安装可以直接拷贝吗 nginx安装在哪_nginx 安装可以直接拷贝吗_04


 修改之前:


nginx 安装可以直接拷贝吗 nginx安装在哪_nginx 安装可以直接拷贝吗_05


配置如下:


nginx 安装可以直接拷贝吗 nginx安装在哪_nginx_06


 再次访问:


nginx 安装可以直接拷贝吗 nginx安装在哪_java_07


反向代理小结

第一个例子:浏览器访问 www.123.com,由 host 文件解析出服务器 ip 地址
192.168.25.132 www.123.com。

然后默认访问 80 端口,而通过 Nginx 监听 80 端口代理到本地的 8080 端口上,从而实现了访问 www.123.com,最终转发到 tomcat 8080 上去。

第二个例子:

  • 访问 http://192.168.25.132:9001/edu/ 直接跳转到 192.168.25.132:8080
  • 访问 http://192.168.25.132:9001/vod/ 直接跳转到 192.168.25.132:8081

实际上就是通过 Nginx 监听 9001 端口,然后通过正则表达式选择转发到 8080 还是 8081 的 Tomcat 上去。

负载均衡实战

 1、修改 nginx.conf


nginx 安装可以直接拷贝吗 nginx安装在哪_linux_08


nginx 安装可以直接拷贝吗 nginx安装在哪_tomcat_09


2、重启 Nginx:
 ./nginx -s reload
3、在 8081 的 Tomcat 的 webapps 文件夹下新建 edu 文件夹和 a.html 文件,填写内容为 8081!!!!
4、在地址栏回车,就会分发到不同的 Tomcat 服务器上:

负载均衡方式如下:

  • 轮询(默认)。
  • weight,代表权,权越高优先级越高。
  • fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配。
  • ip_hash,每个请求按照访问 ip 的 hash 结果分配,这样每一个访客固定的访问一个后端服务器,可以解决 Session 的问题。
  • nginx 安装可以直接拷贝吗 nginx安装在哪_tomcat_10


  • 动静分离实战

    什么是动静分离?把动态请求和静态请求分开,不是讲动态页面和静态页面物理分离,可以理解为 Nginx 处理静态页面,Tomcat 处理动态页面
    动静分离大致分为两种:
  • 纯粹将静态文件独立成单独域名放在独立的服务器上,也是目前主流方案。
  • 将动态跟静态文件混合在一起发布,通过 Nginx 分开。
动静分离图析:

nginx 安装可以直接拷贝吗 nginx安装在哪_nginx_11