概述
文章目录
- ifconfig看不到ip地址
- nginx的安装
- tomcat的安装
- 正向代理
- 反向代理
- 反向代理实例1
- 反向代理实例2
- 负载均衡
- 动静分离
ifconfig看不到ip地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
onboot =no 改成 yes
然后重启网络 sudo service network restart
nginx的安装
-
下载
nginx
(nginx-1.12.2.tar.gz) -
安装并启动nginx
-
进入
/usr/src
, 将安装包复制进来 -
tar -xvf nginx-1.12.2.tar.gz
解压 -
cd nginx-1.12.2/
-
./configure
检测-
提示错误
“./configure: error: C compiler cc is not found”
-
解决
yum -y install gcc gcc-c++ autoconf automake make
-
再次运行
./configure
-
-
make && make install 安装
-
提示错误
make: *** 没有规则可以创建“default”需要的目标“build”。
-
安装相关依赖包
yum install pcre-devel zlib zlib-devel openssl openssl-devel
-
最后
make && make install
-
-
-
-
进入目录
/usr/local/nginx/sbin/nginx
- 启动nginx
./nginx
- 关闭nginx
./nginx -s stop
- 重新加载nginx
./nginx -s reload
- 启动nginx
-
配置防火墙
- 查看开放的端口号
firewall-cmd --list-all
- 配置80端口
firewall-cmd --add-port=80/tcp --permanent
- 重新加载防火墙
firewall-cmd --reload
- 查看开放的端口号
-
浏览器输入 ip地址是否有界面出来
tomcat的安装
-
下载tomcat(apache-tomcat-7.0.100.tar.gz)
-
安装并启动tomcat
- 进入 /usr/src, 将安装包复制进来
tar -xvf apache-tomcat-7.0.100.tar.gz
解压cd apache-tomcat-7.0.100/bin
- 启动服务器
./startup.sh
-
配置防火墙
- tomcat默认是8080端口
- 配置80端口
firewall-cmd --add-port=8080/tcp --permanent
- 重新加载防火墙
firewall-cmd --reload
-
浏览器输入 ip地址是否有界面出来
正向代理
需要在客户端配置代理服务器进行指定网站访问
反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只
需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返
回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器
地址,隐藏了真实服务器 IP 地址。
-
location
正则注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。
- = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。 - ~:用于表示 uri 包含正则表达式,并且区分大小写。
- ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
- ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location
块中的正则 uri 和请求字符串做匹配。
- = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
反向代理实例1
需求: 通过访问http://www.123.com网址访问tomcat(http://192.168.136.129:8080)
-
在 windows 系统的 host 文件进行域名和 ip 对应关系的配置
-
加上一行
192.168.136.129 www.123.com
-
通过访问 http://www.123.com 访问, 显示nginx界面
-
配置反向代理
-
编辑配置文件
vi /usr/local/nginx/conf/nginx.conf
-
配置防火墙
- 开启8080端口
firewall-cmd --add-port=8080/tcp --permanent
- 重新加载防火墙
firewall-cmd --reload
- 开启8080端口
-
重新加载
- cd
/usr/local/nginx/sbin
./nginx -s stop
=>./nginx
或者./nginx -s reload
- cd
-
反向代理实例2
需求: 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 8888访问 http://192.168.136.129:8888/chen/ 直接跳转到 127.0.0.1:8080
访问 http://192.168.136.129:8888/jiang/ 直接跳转到 127.0.0.1:8081
-
准备工作
- 准备两台tomcat服务器, 一台8080端口, 一台8081端口
- 给每台服务器, 添加界面
-
配置防火墙
- 开启对应端口
- 重新加载防火墙
-
反向代理配置
- 重新加载nginx
-
访问界面
负载均衡
我们首先想到的可能是升级服务器的配置,比如提高 CPU 执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。那么怎么办呢?
上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题
的办法行不通了,那么横向增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡
需求: 浏览器地址栏输入地址 http://192.168.136.129/fzjh/demo.html 负载均衡效果,平均 8080 和 8081
-
准备工作
- 准备两台tomcat 服务器, 一台8080, 一台8081
- 两台服务器文件
-
nginx配置
-
nginx 分配服务器策略
- 第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。 - 第二种 weight
weight 代表权重默认为 1, 权重越高被分配的客户端越多 - 第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题 - 第四种 fair (第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
- 第一种 轮询(默认)
-
重新加载nginx
-
-
页面显示
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速
度。降低原来单个服务器的压力。通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使浏
览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义:是给一个资源
设定一个过期时间,也就是说无需去 服务端验证,直接通过浏览器自身确认是否过期即可,
所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,
不建议使用 Expires 来缓存),我这里设置 3d ,表示在这 3 天之内访问这个 URL ,发送一
个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304 ,
如果有修改,则直接从服务器重新下载,返回状态码 200
- 准备工作
- 在linux系统中准备静态资源
- nginx配置
- 访问界面
- 在linux系统中准备静态资源
参考视频: https://www.bilibili.com/video/av68136734
最后
以上就是彩色小鸽子为你收集整理的centos7 nginx安装及其使用的全部内容,希望文章能够帮你解决centos7 nginx安装及其使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复