发表于: 2020-03-11 19:00:08

1 1422


传图片太麻烦,直接全移动到下面了。整洁的笔记在我的印象笔记里

收获:

了解了nginx的配置方法

Nginx

1.1 Nginx 概述 

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

1.2 Nginx 作为 web 服务器

Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。

1.3 正向代理 

Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。 正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
1.4 反向代理 

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
1.5 负载均衡 

客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?我们首先想到的可能是升级服务器的配置,比如提高 CPU 执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。那么怎么办呢?上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题的办法行不通了,那么横向增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡
1.6 动静分离 

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
2 nginx 的安装
1)安装 pcre 依赖

第一步 联网下载 pcre 压缩文件依赖 wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz 

第二步 解压压缩文件使用命令 tar –xvf pcre-8.37.tar.gz

第三步./configure 完成后,回到 pcre 目录下执行 make &&  make install
2)安装 openssl zlib gcc 依赖 

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
3)安装 nginx * 使用命令解压 * ./configure* make && make install
进入目录 /usr/local/nginx/sbin/nginx 启动服务
windows 系统中访问 linux nginx,默认不能访问的,因为防火墙问题 

1)关闭防火墙

2)开放访问的端口号,80 端口

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --add-service=http --permanent

sudo firewall-cmd --add-port=80/tcp --permanent

通过systemctl start firewalld开启防火墙

通过systemctl status firewalld查看firewalld状态

关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能

重启防火墙firewall-cmd reload

3.1 nginx 常用的命令

(1)启动命令在/usr/local/nginx/sbin 目录下执行 ./nginx

(2)关闭命令在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop

(3)重新加载命令在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload
3.2 nginx 的配置文件

1nginx 配置文件位置 cd /usr/local/nginx/conf/nginx.conf

2、配置文件中的内容包含三部分内容

1)全局块:配置服务器整体运行的配置指令比如 worker_processes 1;处理并发数的配置 

2events 块:影响 Nginx 服务器与用户的网络连接 比如 worker_connections 1024; 支持的最大连接数为 1024 

3http 还包含两部分:http 全局块 server 块

Nginx 反向代理实例 

1、实现效果1)打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中 

2、准备工作

1)在 liunx 系统安装 tomcat,使用默认端口 8080 * tomcat 安装文件放到 liunx 系统中,解压 * 进入 tomcat bin 目录中,./startup.sh 启动 tomcat 服务器 

2)对外开放访问的端口firewall-cmd --add-port=8080/tcp --permanent

firewall-cmd –reload

查看已经开放的端口号

firewall-cmd --list-all

3)在 windows 系统中通过浏览器访问 tomcat 服务器 

3、访问过程的分析
4、具体配置

第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置 mac系统 host 文件在/etc目录中

1)添加内容在 host 文件中

第二步 在 nginx 进行请求转发的配置(反向代理配置)




返回列表 返回列表
评论

    分享到