0


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配置文件详解


在这里插入图片描述

标签: nginx java 服务器

本文转载自: https://blog.csdn.net/m0_57310550/article/details/127053127
版权归原作者 热爱飞行的小应学长 所有, 如有侵权,请联系我们删除。

“Java真的不难(五十)Nginx的入门及使用”的评论:

还没有评论