Nginx 简单学习

一、nginx 简介

1、什么是nginx

Nginx 是一个高性能的HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负荷的考验,有报告表名能支持高达50000个并发连接数。

2、 反向代理

  • 正向代理
    在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。


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


    image.png

3、 负载均衡

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。


image.png

4、动静分离

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

二、 nginx 的安装

2.1 进入nginx 官网 下载 http://nginx.org/

安装相关的依赖:
(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 命令 之后在执行 make && make install 命令
  • 检查pcre 是否安装成功 pcre-config --version
    (2) 安装其他依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

(3)安装nginx

  • 使用命令解压

  • ./configure

  • make && make install

  • 安装成功之后,在 usr 多出来一个文件夹 local/nginx,在nginx有 sbin 有启动脚本
    进入目录 /usr/local/nginx/sbin/nginx 启动服务

三、nginx 操作的常用命令

进入 nginx 目录中:

cd /usr/local/nginx/sbin

1、查看版本号 ./nginx -v

2、启动 nginx ./nginx

3、查看是否启动成功 :ps -ef|grep nginx

image.png

4、停止 nginx ./nginx -s stop

5、重新加载 nginx ./nginx -s reload

6、设置nginx 为系统服务

将 Nginx 制作成系统服务让你无需手动到 Nginx 安装目录下执行命令来启动它,而是系统会在开机时自动启动 Nginx,让启动过程更加方便和自动化。

配置 Nginx 服务文件

在 /etc/systemd/system/ 目录下创建一个新的服务文件,例如 nginx.service:

vi /etc/systemd/system/nginx.service

在打开的文件中,添加以下内容:

[Unit]
Description=Nginx HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

执行以下命令重新加载 systemd 配置文件:

systemctl daemon-reload
启动 Nginx 服务

执行以下命令查看 Nginx 服务:

启动服务
systemctl start nginx 
查看状态
systemctl status nginx
停止服务
systemctl stop nginx
重启服务
systemctl restart nginx
设置开机自启动
systemctl enable nginx

四、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、访问过程分析

image.png

4、具体配置

第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置


image.png

添加内容在 host 文件中

image.png

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

image.png

5、最终测试

image.png

五、Nginx 反向代理实例 2

1、实现效果

使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 9001,
访问 http://192.168.17.129:9001/edu/ 直接跳转到 127.0.0.1:8080
访问 http://192.168.17.129:9001/vod/ 直接跳转到 127.0.0.1:8081

2、准备工作

(1)准备两个 tomcat 服务器,一个 8080 端口,一个 8081 端口
(2)创建文件夹和测试页面

3、具体配置

(1)找到 nginx 配置文件,进行反向代理配置


image.png

(2)开放对外访问的端口号 9001 8080 8081

4、最终测试

image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.什么是Nginx?Nginx是一个高性能的HTTP反向代理服务器,特点是占用内存小,并发能力强。Nginx是专...
    yunqing_71阅读 410评论 0 1
  • Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能...
    没米吃的耗子阅读 250评论 0 1
  • 文章来源:渐暖 Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Ng...
    华盟君阅读 83评论 0 0
  • 内容介绍1、nginx基本概念。 (1) nginx是什么,能做什么事情(2) 反向代理。(3) 负载均衡。(4)...
    f10aad05a9b3阅读 161评论 0 0
  • 前言 在上次总结内网穿透工具时,注意到反向代理这个名词。这里通过nginx学习顺便补上这一课。 安装 选择使用虚拟...
    CSeroad阅读 896评论 0 4