1. Nginx

1.1 Nginx服务器介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

1.2 Nginx特点

  1. 占有内存少 不超过2M tomcat服务器200M java语言
  2. 并发能力强 3-5万次/秒 220-250个/秒 C语言

1.3 Nginx下载

在这里插入图片描述

1.4 Nginx安装说明

1.4.1 nginx路径说明

路径问题:
nginx是c语言开发的所以对中文不友好. 额外需要注意空格
端口问题:
1.Nginx运行的端口是80. 80端口不能被其它的服务占用.
2.如果80端口被其它的服务占用,则通过dos命令 kill 杀死进程.
占用端口:
http协议默认端口号80端口.
https协议默认端口号443端口

1.4.2 nginx进程项说明

nginx 每次启动都会有2个进程. 一个主进程, 一个是守护进程
主进程: 主要提供反向代理服务. 占用内存空间大
守护进程: 防止主进程意外关闭的.
如果需要关闭nginx 则先关闭守护 再关闭主进程.
在这里插入图片描述

1.4.3 nginx 命令(必须掌握)

说明: nginx的命令的执行 需要在nginx的根目录中运行

  1. 启动nginx start nginx
  2. 重启nginx nginx -s reload
  3. 关闭nginx nginx -s stop
    注意事项: nginx的运行只能启动一次,如果启动多次则会产生多余项,影响程序的正常运行

1.5 Nginx 反向代理说明

1.5.1 反向代理入门案例

#1. 每个反向代理服务 都是一个server{}
	#2. listen  nginx监听用户请求端口 默认80
	#3. server_name  拦截服务的名称/域名名称
	#4. location {}    开始执行反向代理
	#5. / 拦截的路径    拦截所有的请求
	#6. root 代表反向代理的是一个目录
	#7. index 代表访问的默认的页面
	http{
	    server {
	        listen       80;
	        server_name  localhost;
	        location / {
	            root   html;
	            index  index.html index.htm;
	        }
	    }
		#一个http协议 多个server
	}

1.5.2 图片回显

磁盘地址: E:\images\2021\10\15\a.jpg
网络地址: http://image.jt.com\2021\10\15\a.jpg
代理核心: http://image.jt.com 映射到 E:\images
实现域名代理:

# 配置图片代理  记得保存
	server {
		listen 80;
		server_name image.jt.com;
		location / {
			root  E:/images;
		}
	}

注意事项:
1. start nginx 命令 如果配置文件有错, 不会提示.
2. nginx -s reload 重启命令 会有错误提示

1.5.3 图片回显原理

说明: 根据hosts文件可以实现域名与IP的映射关系.
在这里插入图片描述

1.5.4 修改hosts文件

位置: C:\Windows\System32\drivers\etc
修改权限:
1. 如果勾选只读,则去掉即可
在这里插入图片描述
2.选择用户勾选权限 在这里插入图片描述
3. 修改hosts文件

#配置图片服务器
127.0.0.1  image.jt.com
#配置后端服务器
127.0.0.1  manage.jt.com
#配置前端服务器
127.0.0.1  www.jt.com

4 页面效果展现
在这里插入图片描述

1.6 关于图片回显问题说明

1.6.1 关于hosts文件说明

如果用户访问image.jt.com 不能跳转服务器,显示链接异常,则一般是hosts问题. 重复检查hosts

1.6.2 关于404报错说明

如果请求出现404 则说明 磁盘地址与域名地址 不一致, 需要检查代码 确定位置.
注意事项: nginx服务器 修改完成之后,记得重启

2. 京淘项目前端发布

2.1 前端组成部分

原始文件-开发阶段:
1. node.js
2. 脚手架项目
3. Vue组件
4. Vue路由
5. Axios ajax请求.

项目发布阶段:
1.html
2.css样式
3.js

说明: 如果前端项目需要发布项目,则将项目打包部署即可.

2.2 前端部署准备工作

2.2.1 路径说明

  1. 前端向后端发送请求时路径都是 http://localhost:8091/xxx/xxx,该请求需要转化为网络地址. http://manage.jt.com/xxx/xxx
  2. 图片上传的地址 http://localhost:8091 换为http://manage.jt.com

2.2.2 修改ajax请求地址

修改main.js

/* 导入axios包 */
import axios from 'axios'

/* 设定后端域名地址路径 */
axios.defaults.baseURL = 'http://manage.jt.com/'

2.2.2 修改AddItem.vue

 //说明:修改属性配置,访问后端服务器域名
 uploadUrl: "http://manage.jt.com/file/upload",

在这里插入图片描述

2.2.2 前端项目发布

在这里插入图片描述
2. 发布之后的文件位置
在这里插入图片描述
3. 复制到nginx的根目录即可
在这里插入图片描述

2.2 前端项目发布

2.2.1 需求说明

说明: 用户通过域名: http://www.jt.com:80 访问前端的项目路径 dist/index.html

2.2.2 编辑nginx.conf文件

# 配置前端服务器 www.jt.com:80 dist/index.html
	server {
		listen 80;
		server_name www.jt.com;
		location / {
			root  dist;
			index index.html;
		}
	}

2.2.3 前端代理测试

在这里插入图片描述

2.3 关于项目发布问题总结

2.3.1 http协议自动转化为https问题

开发: 使用谷歌浏览器 最为标准的浏览器
解决方案:
1.浏览器中输入: “chrome://net-internals/#hsts:“
2.删除指定的域名 在这里插入图片描述
3. 清空浏览器缓存之后重启 ctrl + shift + delete
在这里插入图片描述

2.3.2 前端访问依然是8091服务器.

问题描述: 其中的访问后台的网址依然是localhost:8091. 肯定是ajax请求的前缀没有修改导致的.
解决方案:
1.检查后端配置是否正确 2处 1.main.js 2.AddItem.vue 记得保存
2.重启将项目打包build.
3.将dist目录复制,到nginx的根目录中(之前应该先删除原来的文件)
4.nginx服务器重启即可.

2.4 实现域名的代理

2.4.1 需求

后端请求的网址: http://manage.jt.com 转向到 http://localhost:8091
代理规则: 反向代理.

2.4.2 域名代理配置

#manage.jt.com:80 映射localhost:8091
	server {
		listen 80;
		server_name manage.jt.com;
		location / {
			#代理请求
			proxy_pass http://127.0.0.1:8091;
		}
	}

修改之后,重启nginx服务器.

2.4.3 效果测试

在这里插入图片描述

2.5 NGINX实现负载均衡

2.5.1 负载均衡策略

在这里插入图片描述

2.5.2 动态获取端口号

@RestController
@CrossOrigin
public class PortController {

    @Value("${server.port}")
    private Integer port;

    //动态获取端口号
    @GetMapping("/getPort")
    public String getPort(){

        return "当前端口号:" + port;
    }
}

2.5.3 关闭热部署

说明: 由于需要同时开启2台tomcat服务器,所以需要关闭热部署操作
将POM.xml文件中的热部署jar包去除即可.
在这里插入图片描述

2.5.4 修改端口号

说明: 分别启动2台tomcat服务器. 端口号分别为8091/8092. 通过下图实现进程项执行2次的操作.
在这里插入图片描述
测试效果:
1.访问8091服务器
在这里插入图片描述
2.访问8092服务器
在这里插入图片描述

2.5.5 配置负载均衡

#manage.jt.com:80 映射localhost:8091
	server {
		listen 80;
		server_name manage.jt.com;
		location / {
			#代理请求
			#proxy_pass http://127.0.0.1:8091;
			proxy_pass http://tomcats;
		}
	}

	#配置后端集群
	upstream tomcats {
		server 127.0.0.1:8091;
		server 127.0.0.1:8092;
	}

修改之后保存,之后重启nginx服务器.

2.5.6 项目访问

在这里插入图片描述

2.6 负载均衡策略

2.6.1 轮询策略

说明: 根据配置文件内容,依次访问服务器.

#manage.jt.com:80 映射localhost:8091
	server {
		listen 80;
		server_name manage.jt.com;
		location / {
			#代理请求
			#proxy_pass http://127.0.0.1:8091;
			proxy_pass http://tomcats;
		}
	}

	#配置后端集群
	upstream tomcats {
		server 127.0.0.1:8091;
		server 127.0.0.1:8092;
	}

2.6.2 权重策略

说明: 根据服务器的性能,手动分配服务器的负载.

#配置后端集群 1.默认轮询 2.权重 weight
	upstream tomcats {
		server 127.0.0.1:8091 weight=4;
		server 127.0.0.1:8092 weight=1;
	}

2.6.3 IPHASH

需求: 让用户的请求与服务器绑定, 用户访问某台服务器,以后永远访问该服务器.

	#配置后端集群 1.默认轮询 2.权重 weight 3.iphash策略
	upstream tomcats {
		#ip_hash;  weight=4;
		server 127.0.0.1:8091;
		server 127.0.0.1:8092;
	}

3. 虚拟机安装和使用

详情参数B站视频 Vmware安装说明

3.1 虚拟机IP配置

在这里插入图片描述

3.2 Linux 基本命令

  1. IP命令 ifconfig , ip addr
    在这里插入图片描述
  2. 检查windows和Linux是否畅通
    在这里插入图片描述

3.2 远程工具下载

URL: https://mobaxterm.mobatek.net/download.html

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐