2.1 下载nginx
(1)官网网址:http://nginx.org/
2.2 安装pcre依赖
安装步骤:下载安装包、解压、安装(配置、编译、安装)
1.下载:
方式一:联网下载pcre压缩文件依赖,那个目录下使用的命令,就下载在那个目录
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
方式二:使用现有的文件(在百度网盘中)
pcre-8.37.tar.gz
2.解压:(要缩文件从/opt/software -> /opt)
命令:tar -zxvf pcre-8.37.tar.gz -C ../
3. 安装
1) 进入解压文件,执行配置命令:./configure
2)执行编译命令: make
3)执行安装命令:make install
2.3 安装openssl、zlib、gcc依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-deve
2.4 安装nginx
1.解压
将/opt/nginx-1.12.2.tar.gz解压到/opt/
2.安装
1) 进入解压文件,执行配置命令:./configure
2)执行编译命令: make
3)执行安装命令:make install
(5)开放端口号
开放http协议:firewall-cmd --add-service=http –permanent
开放端口号:sudo firewall-cmd --add-port=80/tcp --permanent
重启防火墙:firewall-cmd --reload
查看开放的端口号:firewall-cmd --list-all
3.1 nginx常用的命令
需要切换到/usr/local/nginx/sbin/目录下,才能执行这些命令
(1)启动命令:./nginx
(2)关闭命令:./nginx -s stop
(3)重启命令:./nginx -s reload
(4)查看nginx版本号:./nginx -v
3.2 nginx的配置文件
(1)配置文件位置:/usr/local/nginx/conf/nginx.conf
(2)配置文件中的内容:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
根据配置文件的内容,可以将nginx.conf配置文件分为三个部分:
1.全局块:配置服务器整体运行的配置指令
worker_processes 1:配置处理并发数量
2.events块
worker_connections 1024:支持的最大连接数为1024
3.http块
包含部分:
1)http全局块
2)server块
一个http块可以包含多个server块,而每个server块相当于一个虚拟主机。
每个server块也分为全局server块,以及可以同时包含多个location块
1. 全局server块
配置本虚拟机主机监听配置和虚拟主机名称或IP配置
2.location块
一个server块可以配置多个location块
4.1 反向代理——实例一
实现效果:访问www.123.com,直接跳转到192.168.252.130:8080
实现步骤:
1.通过小改本地hosts文件,添加一行内容
192.168.252.130 www.123.com
2. 修改nginx.conf配置文件
如上配置,我们监听80端口,访问域名为www.123.com
4.2 反向代理——实例二
实现效果:
访问http:192.168.252.130:9001/vod/ 直接跳转到192.168.252.130:8001
访问http:192.168.252.130:9001/edu/ 直接跳转到192.168.252.130:8002
实现步骤:
1.准备两个tomcat,一个8001端口,一个8002端口并准备好测试页面
准备两tomcat的步骤:https://www.cnblogs.com/pdjdghrs/p/15679164.html
测试页面:分别在连个tomcat中的webapps目录下创建文件
vod/index.html和edu/index.html
2.修改nginx.xml
在http中添加server{}块
重启nginx
server{ listen 9001; server_name 192.168.252.130; location ~ /vod/ { proxy_ pass http://192.168.130.252:vod/ index index.html index.htm; } location ~ /edu/ { proxy_ pass http://192.168.130.252:edu/ index index.html index.htm; } }
3. location指令说明
概述:该指令用于匹配URL
语法如下:
location [= | ~ | ~* | ^~] url { }
1、 = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,
2、 ~:用于表示 uri 包含正则表达式,并且区分大小写。
3、 ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、 ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。
实现步骤:
1.启动两个Tomcat
2.配置nginx.conf
在http块中添加代码:(默认表示轮询)
upstream myserver{ server 192.168.252.130:8001; server 192.168.252.130:8002; }
在server块中的location中添加代码:
location /{ root html; proxy_pass http://myserver; index index.html index.htm; }
3.nginx默认分配策略
(1)轮询(默认)
每个服务器雨露均沾,如果有后端服务器 down 掉,能自动剔除。
(2)weight
weight代表权重,默认权重为1,权重越高分配的客户端越多
upstream myserver{ server 192.168.252.130 weight=10; server 192.168.252.130 weight=10; }
(3)ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
upstream myserver{ ip_hash; server 192.168.252.130:8001; server 192.168.252.130:8002; }
1.概述
动静分离可以理解成使用 Nginx处理静态页面, Tomcat 处理动态页面。
动静分离目前实现角度来讲大致分为两种:
(1)一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
(2)一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。
2. 准备工作
创建:
/data/img/1.jpge
/data/www/a.html
3.配置nginx.conf
server { listen 80; server_name 192.168.252.130; #charset koi8-r; #access_log logs/host.access.log main; location /www/{ root /data/; index index.html index.htm; } location /img/{ root /data/; autoindex on; } }
4.显示效果
8.1 Keepealived + Nginx 高可用集群(主从模式)
(1)准备工作
1.需要两台服务器192.168.252.130和192.168.252.130
2.在两台服务器都安装nginx
详细安装步骤:第2章、第3章
3.在两台服务器都安装keepalived
1)使用yum命令安装
yum -y install keepalived
2)安装王成后,在etc里面生成目录keeepalived,有文件keepalived.conf
(2)进行高可用配置(主从配置)
1.修改/etc/keepalived/keepalived.conf