Java真的不难(五十)Nginx的入门及使用

在本篇文章将使用极少的文字和图例来学习Nginx,真正的轻松入门Nginx!

一、什么是Nginx?

Nginx: 高性能的 HTTP 和反向代理的web服务器
特点: 占有内存少,并发能力强(百度、京东、新浪、网易、腾讯、淘宝都在使用)
详细介绍可以阅读:https://lnmp.org/nginx.html


二、Nginx作用

1、正向代理

正向代理(客户端的代理)
我们知道现在在中国是不能直接访问外网的,都需要挂梯子(VPN),和打游戏开加速器的道理是一样的,挂了VPN,比如这个VPN服务器在香港(香港是可以直接访问外网),我们在大陆先访问香港的服务器,然后香港发服务器再去访问外国的服务器,返回的数据也是一样的方式,这就是正向代理
在这里插入图片描述

小结:在客户端的代理工具(加速器、翻墙工具)都叫做正向代理(代理客户端)


2、反向代理

反向代理(服务器的代理)

我们知道大型网站或者项目在部署的时候不可能值只有一台服务器,比如百度有北京、上海、广州的服务器,但是我们只需要输入百度统一的网址即可访问,但我们也不知道访问的是哪里的服务器,能用就行,相当于无感知的使用服务器。
在这里插入图片描述
小结:输入固定网址,代理会根据配置来分配访问的服务器


3、负载均衡

负载均衡其实很好理解,就是根据每台服务器的承载能力来分配,内置策略为轮询,加权轮询,IP Hash:

轮询: 很好理解,每台服务器轮着来执行
加权轮询: 给每台服务器加一个权重值,值越高,承载能力越强,任务越多
比如A服务器权重值为3,B为2,C为1,那么A可以承担所有任务的50%,B可以承担35%,C可以承担15%
IP Hash: 通过IP Hash运算,以后这个IP的访问只会打到固定服务器


4、动静分离

加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速 度。降低原来单个服务器的压力
在这里插入图片描述
也就是加载一些静态的资源可以直接在Nginx上加载


三、Nginx的安装

1、Windows版安装

官网:http://nginx.org/en/download.html

下载自己操作系统的版本即可,目前推荐下载1.18的稳定版本
在这里插入图片描述

下载完成解压即可

conf目录下的nginx.conf是配置文件:
在这里插入图片描述
启动nginx:

不推荐双击nginx.exe,因为会一闪而过,在目录下直接使用cmd,输入nginx.exe启动
若出现一下错误:
在这里插入图片描述
代表80这个端口已经被占用,只需打开配置文件修改一下端口号即可:
在这里插入图片描述
若重新启动无报错,在浏览器输入:http://localhost:81,出现一下界面即启动成功:
在这里插入图片描述


2、Linux版安装

按照上面的步骤下载一个Linux版本的Nginx包,下载完通过Xftp 7工具传到Linux上,
首先确认Linux上没有安装Nginx,可以使用指令:whereis nginx
使用指令解压压缩包:
在这里插入图片描述
解压完成,进入nginx-1.18.0目录:
在这里插入图片描述
可以看到这些文件和Windows版的是一样的

然后开始安装,指令:./configure
执行完直接指令:make
再来一个:make install

输入指令:whereis iginx可以查看安装位置:
在这里插入图片描述
进入目录:
sbin为执行
在这里插入图片描述
启动Nginx:
在这里插入图片描述

若无信息提示,即启动成功,也可以在Windows浏览器内输入Linux地址,端口输入80:
在这里插入图片描述
搞定!

注意: 若Linux版安装后无法进入以上页面,可以检查一下Linux的防火墙是否开启。
若使用远程服务器(阿里云,腾讯云)需要把安全组的80端口放开

查看开放的端口:firewall-cmd --list-all
设置开放的端口号:firewall-cmd --add-service=http –permanent, firewall-cmd --add-port=80/tcp --permanent

重启防火墙:firewall-cmd –reload


四、Nginx常用命令:

启动:./nginx
停止:./nginx -s stop
安全退出:./nginx-s quit
重新加载配置文件:./nginx -s reload
查看nginx进程:ps auxigrep nginx


五、配置文件

Nginx的配置文件看着有很多,但基本上都是#开头的段落,可以整理一下,得到以下简洁内容:

<!--第一块,全局生效-->
worker_processes  1;

<!--第二块,在events部分中生效-->
events {
    worker_connections  1024;
}

<!--第三块,以下指令在http部分中生效-->
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    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;
        }
    }
}

这个配置文件一共由三部分组成,分别为全局块、events块和http块
配置文件具体解释可以参考这篇文章:Nginx配置文件详解


在这里插入图片描述

  • 21
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱飞行的小应学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值