目录
- Nginx的安装
-
- 先安装相关依赖
-
- 安装 pcre 依赖
- 安装 openssl 、zlib 、 gcc 依赖
- 安装Nginx
- 如何进行访问?
- 访问不到需要关闭虚拟机里面的防火墙
- Nginx安装总结
- Nginx的常用命令
- Nginx的配置文件
-
- 他在哪里
- 介绍里面内容
- 三部分组成
-
- 全局块
- events 块
- http 块
- Nginx实现反向代理
-
- 需求(1)
- 先安装tomcat
- 访问的过程
- 配置
- 需求(2)
- 创建8081端口的Tomcat(8082的一样)
- 往两个Tomcat里面放项目
- Nginx配置
- location里面配置说明
- Nginx实现负载均衡
-
- 需求
- 准备
- nginx 里面负载均衡配置
- nginx 分配服务器策略
-
- 第一种 轮询(默认)
- 第二种 weight
- 第三种 ip_hash
- 第四种 fair(第三方)
- Nginx的动静分离
-
- 创建一个放静态资源的目录
- 通过静态资源配置进行访问(需求)
- 配置
- 总结
Nginx的安装
先安装相关依赖
安装 pcre 依赖
这个需要网上下载这个依赖之后,移动到虚拟机里面
以下这个是移动到虚拟机里面
进行解压压缩文件
代码语言:javascript复制tar -xvf pcre-8.37.tar.gz
解压完成就有这个文件夹
进入这个文件夹,执行一个命令
代码语言:javascript复制./configure
执行完之后,最后是这样的
如果不是这样,就是安装这个也需要其他的依赖环境,比如c的环境和c 的环境,可以这样安装这些环境
configure: error: no acceptable C compiler found in $PATH 已解决,亲测有效
configure: error: You need a C compiler for C support.[系统缺少c 环境],这样解决,亲测有效
虚拟机 里面 bash: make: 未找到命令…,这样解决
以上完成之后,就可以进行编译和安装了,编译和安装的命令是:
代码语言:javascript复制make && make install
出现以上的情况,就是安装好所需要的这个依赖了
查看版本
安装 openssl 、zlib 、 gcc 依赖
代码语言:javascript复制yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel
以上一个命令 就可以安装成功
安装Nginx
进行解压
代码语言:javascript复制tar -xvf nginx-1.12.2.tar.gz
检查一下
代码语言:javascript复制make && make install
以上相当于就安装完成了,我们进入另一个目录
会自动的在这个local目录下安装Nginx这个文件夹
进入这个sbin的目录下
启动Nginx
以上就启动了
查看进程
如何进行访问?
先打开以上的文件
找到端口是80
以上就访问到了
访问不到需要关闭虚拟机里面的防火墙
先看此时虚拟机里面的防火墙,开放的端口号是什么
查看防火墙是否开启
以上显示关闭,现在重新开启
开启防火墙systemctl start firewalld
以上是开启了
现在查看开启了哪些端口
firewall-cmd --list-all
一个都没有开放,我们将80端口就行开放
代码语言:javascript复制sudo firewall-cmd --add-port=80/tcp --permanent
新增了开放端口,要重新启动
以上就可以访问了
关闭防火墙:systemctl stop firewalld
Nginx安装总结
上传安装包进行安装之后,会自动的在另一个地方生成Nginx的文件夹
以后我们操作Nginx就是在那个地方,具体地方是:
Nginx的常用命令
使用命令,必须进入到Nginx的一个目录里面
在这个里面进行使用
进入 nginx 目录中
cd /usr/local/nginx/sbin
代码语言:javascript复制1、查看 nginx 版本号
./nginx -v
2、启动 nginx
./nginx
3、停止 nginx
./nginx -s stop
4、重新加载 nginx
./nginx -s reload
Nginx的配置文件
他在哪里
介绍里面内容
刚安装的Nginx,打开这个文件,里面的东西是
三部分组成
全局块
配置服务器整体运行的配置指令
比如 worker_processes 1;处理并发数的配置
events 块
影响 Nginx 服务器与用户的网络连接
比如 worker_connections 1024; 支持的最大连接数为 1024
代码语言:javascript复制events {
worker_connections 1024;
}
http 块
还包含两部分:
http 全局块
server 块
Nginx实现反向代理
需求(1)
我们在虚拟机里面启动一个项目,比如说是启动一个Tomcat,本来在浏览器可以用IP 端口在浏览器访问这个Tomcat,但是现在是想随便定义一个网址,就可以访问这个,也就是将真实的IP进行隐藏
先安装tomcat
在Linux上面装jdk, Tomcat软件,一步一步带你安装
访问的过程
配置
第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置
第二步 在 nginx 进行请求转发的配置(反向代理配置)
打开配置文件
改完配置文件,重新启动,在对应的目录下
./nginx -s reload
需求(2)
服务器里面有2个项目,都需要Nginx做反向代理,两个项目的端口号是不一样的。但是我们需要实现使用Nginx,外界访问的IP和端口是一样的,但是路径不一样,就访问不同的项目。具体是这样
代码语言:javascript复制浏览器访问 http://
创建8081端口的Tomcat(8082的一样)
已经有一个8080端口的Tomcat了,现在再创建一个8081的
解压以上的Tomcat
创建2个文件夹,里面分别是8081端口的Tomcat和8082端口的Tomcat
两个文件夹下都放这个压缩包,之后再各个文件夹下分别解压
先进入8081
解压这个Tomcat的压缩包
解压之后是
改配置文件,将8080改为8081
保存,启动
把防火墙关闭了,就不需要一个一个放开端口了
8082端口的类似
往两个Tomcat里面放项目
我们在8081里面创建一个目录
我们在8082里面创建一个目录
以上直接根据Tomcat的IP和端口号就可以访问
Nginx配置
配置里面多加这个代码,以后同样的IP和端口号,只要后面的路径不一样,就访问不同的项目
改完配置文件,重新启动Nginx
./nginx -s stop 这个是停止Nginx
那么在浏览器里面就可以访问了
location里面配置说明
Nginx实现负载均衡
需求
两台服务器,里面的项目一样,现在使用Nginx,实现负载均衡,现在使用不同的端口号代表不同的服务器
准备
8081端口里面的项目
8082里面的项目
nginx 里面负载均衡配置
80端口,连续刷新,里面的东西是不一样的
nginx 分配服务器策略
第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多
使用:
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
使用
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
Nginx的动静分离
创建一个放静态资源的目录
通过静态资源配置进行访问(需求)
不是通过Tomcat进行访问,是自己通过静态资源的配置进行访问