一、nginx是什么,有什么用处?

1. nginx作为http web服务器

nginx可以作为静态页面的web服务器。

2.反向代理

正向代理:代理客户端,类似于翻墙,服务器不知道真正的客户端是谁。

反向代理:代理服务器,客户端将请求发送到 反向代理服务器,由反向代理服务器转到真正的目标服务器获取数据后,再返回给客户端。暴露的是代理服务器地址,隐藏了真实服务器的IP地址。

3.负载均衡

可以作为负载均衡,增加服务器数量,将请求分发到各个服务器上。将原先请求集中到单个服务器上的情况分发到多个服务器上,从而将负载分发到不同的服务器上,也就是负载均衡。

4.动静分离

Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和 静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面。动静分离从目前实现角度来讲大致分为两种:

    一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;

    另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。
                       
 

二、nginx安装和配置

1.nginx安装

安装Nginx的依赖插件

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

下载nginx包 nginx: downloadhttps://nginx.org/en/download.html

创建一个目录作为nginx的安装路径

mkdir /usr/nginx

解压

tar -zxvf nginx-1.26.3.tar.gz

进入解压后的目录

cd nginx-1.26.3

指定nginx的安装路径

./configure --prefix=/usr/nginx

编译和安装

make && make install

安装成功后,/usr/nginx/目录下会生成sbin, conf等目录。

2.nginx命令 (cd /usr/nginx/sbin)

启动 ./nginx

关闭 ./nginx -s stop

重新加载 ./nginx -s reload

测试访问 http://nginx所在的ip

注意:服务器防火墙是否开放端口

三、nginx使用案例

1.反向代理实例

实现目标:打开浏览器,在浏览器地址栏输入地址 www.123.com,通过nginx,跳转到 liunx 系统 tomcat 主页面中.

  • 结构图:

  • 安装tomcat, 并测试。

安装步骤:

下载tomcat 安装包,解压。

vim /root/nginx/apache-tomcat-8.5.87/conf

进入 tomcat 的 bin 目录中,./startup.sh 启动 tomcat 服务器。

  • nginx配置 tomcat的转发请求

vim /usr/nginx/conf/nginx.conf

./nginx -s reload

  • windows 系统的 host 文件配置nginx映射

C:\Windows\System32\drivers\etc\hosts

192.168.1.8 www.123.com

  • 最终测试:是否会跳转到tomcat.

2.负载均衡示例

实现效果:浏览器地址栏输入地址 http://208.208.128.122/edu/a.html,负载均衡效果,平均 8081 和 8082 端口中。

结构图:

准备两台 tomcat 服务器

tomcat 1如上,只需要将 port由8080改为8081,然后进入到 /bin 下 ,使用命令 ./startup 启动

tomcat 2,

修改server 的默认端口,由默认8005->8091

修改http协议的默认端口,由默认的8080->8082

修改默认ajp协议的默认端口,由默认的8009->9001

apache-tomcat-8.5.87/webapps/edu/下面创建a.html页面:

tomcat 1  a.htm如下:

<h1>fengfanchen-nginx-8081!!!</h1>

tomcat 2  a.htm如下:

<h1>fengfanchen-nginx-8082!!!</h1>

测试页面:

http://192.168.1.8:8081/edu/a.html

http://192.168.1.8:8082/edu/a.html

nginx 的配置文件中进行负载均衡的配置

最终测试

http://192.168.1.8/edu/a.html

3.动静分离示例

Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面。

结构图:

准备数据:

配置nginx:

vim /usr/nginx/conf/nginx.conf

/usr/nginx/sbin/nginx -s reload

测试结果:

http://192.168.1.8/www/a.html

http://192.168.1.8/image/1891305269.jpg

参考文章:https://blog.csdn.net/qq_40036754/article/details/102463099

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐