Nginx入门01-Nginx的作用

本文介绍了DNS域名解析的基本原理,以及如何通过InetAddress类在Java中实现IP到域名的转换。重点讲解了Nginx作为高性能Web服务器的应用,包括反向代理、负载均衡、静态资源管理和安全防护。同时提到了Windows和Linux的Nginx安装方法以及软负载与硬负载的区别。
摘要由CSDN通过智能技术生成

必备知识

DNS域名解析

hostName主机名称其实就是我们的域名

www.baidu.com是一个域名

www.taobao.com也是一个域名

localhost也是一个域名

我们可以根据域名dns解析成ip地址

域名的存在就是为了方便我们的记忆,最终访问的时候还是要转换成服务器的IP地址进行访问。我们可以再C:\Windows\System32\drivers\etc中的hosts中配置我们的本地dns域名解析

一个域名后只能绑定一个IP吗?

我们在一个浏览器上输入域名后进行访问,我们首先会去主机里面在本地(C:\Windows\System32\drivers\etc)查找有没有对应的ip是这个域名,如果本地有这个域名,就返回对应的ip地址进行访问,如果没有就取电信运营商那里查询域名对应的ip

InetAddress

在JDK中提供了一个与IP地址相关的InetAddress类,该类用于封装一个IP地址,并提供了一系列与IP地址相关的方法。

InetAddress类的常用方法

方法声明

功能描述

InetAddress getByName(String host)

获取给定主机名的的IP地址,host参数表示指定主机

InetAddress getLocalHost()

获取本地主机地址

String getHostName()

获取本地IP地址的主机名

boolean isReachable(int timeout)

判断在限定时间内指定的IP地址是否可以访问

String getHostAddress()

获取字符串格式的原始IP地址

通过InetAddress中的方法就能展现通过ip找到域名这么一个过程

首先我们先去C:\Windows\System32\drivers\etc下的hosts文件中加入

127.0.0.1       www.qcby.com  

注意:必须以管理员的身份进行编辑并保存不然无法保存

然后打开idea创建一个类写入以下代码

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Test01 {
    public static void main(String[] args) throws UnknownHostException {
        // 获取给定主机名的的IP地址,host参数表示指定主机
        InetAddress inetAddress = InetAddress.getByName("127.0.0.1");
        // 获取获取本地IP地址的主机名
        String hostName = inetAddress.getHostName();
        // 获取IP地址
        String address = inetAddress.getHostAddress();
        System.out.println("hostName:" + hostName);
        System.out.println("address:" + address);
    }
}

Nginx概述

1.ngnix是一个高性能的HTTP和反向代理web服务器,同时提供了IMAP/POP3/SMTP服务。IMAP/POP3/SMTP介绍

2.其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

3.Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

4.OpenResty(又称:ngx_openresty) 是一个基于 Nginx 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。

OpenResty ---nginx

Ngnix实际应用场景

1.反向代理 客户端发送请求达到Nginx服务器,Nginx转发到真实服务器访问,从而保证真实服务安全性;

2.负载均衡 能够对集群的节点实现负载均衡和故障转移,负载均衡算法:(轮询、权重、随机、hash等);

3.微服务网关入口 ,可以对微服务网关实现集群;

4.静态服务器 比Tomcat性能高很多,可以存放静态资源;-----推荐以后将静态资源存放到CDN

5.保护网站 使用nginx+lua 实现对请求实现服务限流;

Ngnix的下载与安装

安装方式:

1.Windows安装

2.linux 安装nginx(纯原生方式非常麻烦)提前下载很多依赖 10分钟---不推荐

3.使用docker安装nginx 1分钟

4.使用宝塔可视化界面安装nginx 5s

Windows安装

1.下载完成后解压当前目录

文件说明

1.conf 配置文件 (nginx核心配置文件 nginx.conf)

2.contrib 存放一些实用工具

3.docs 存放文档

4.html 存放Html 存放静态资源 5.logs 存放日志文件

6.temp 临时文件

2.双击ngnix.exe

3.Ngnix默认端口号80

4.浏览器中输入localhost:80

成功启动Ngnix

关闭Ngnix

关闭Ngnix比较麻烦这是因为:nginx在启动后,会有一个master进程和多个worker进程 需要将所有的nginx进程杀死才可以。

1..C:\javacode\nginx-1.0.2>nginx.exe -s stop或

C:\javacode\nginx-1.0.2>nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

其他命令:

2、启动:

C:\javacode\nginx-1.0.2>start nginx或

C:\javacode\nginx-1.0.2>nginx.exe

3、停止:

C:\javacode\nginx-1.0.2>nginx.exe -s stop或

C:\javacode\nginx-1.0.2>nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

4、重新载入Nginx:

C:\javacode\nginx-1.0.2>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

5、重新打开日志文件:

C:\javacode\nginx-1.0.2>nginx.exe -s reopen

6、查看Nginx版本:

C:\javacode\nginx-1.0.2>nginx -v

软负载与硬负载的区别

1.软负载是基于服务器上安装的特定的软件,比如Nginx实现负载均衡

2.硬负载均衡是基于固定的硬件实现负载均衡比如F5

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值