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