Nginx
1.为什么需要
项目开发完成后,前端项目需要服务器部署.
npm run build 原来是拷贝到tomcat,但是有问题,tomcat是Servlet容器,处理静态页面效率低下。
需要专门的http服务器-nginx就是其中一个。
2.解决端口问题
1.同一台服务器部署多个项目时,访问时需要带端口. - 反向代理(动态网站,多台服务器),虚拟主机(静态网站,一台服务器)
2.后端项目负载均衡器-zuul集群
现在适用Eureka作为负载均衡器,传统项目集群是就要使用Nginx做负载均衡器.并且我们网关也是使用Nginx作为负载均衡器.
3.是什么
Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发连接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。
4.应用场景
1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
5.安装
Nginx在windows下安装就直接解压就可以了
注意:如果闪退了的话,可以看看他的logs查看错误日志,有可能是因为有中文路径
nginx的命令:
启动: start nginx.exe localhost 默认端口是80
停止: nginx.exe -s stop
重新加载: nginx.exe -s reload 修改了配置文件的时候需要重新加载.
80端口被占用:
https://www.runoob.com/w3cnote/windows-finds-port-usage.html
开发和部署前端项目
1.开发
vuecli npm run dev
传统项目 live-server --port=6002
2.部署
vuecli npm run build 打包拷贝,修改contextpath
传统项目 直接拷贝就ok
3.nginx搭建虚拟机
1 什么是虚拟主机 一台物理电脑通过软件虚拟多个逻辑服务器
2 端口绑定 不同的端口绑定到不同目录 不用(需要端口)
3 域名绑定 不同的域名绑定到不同目录 不需要写端口
Nginx反向代理
代理&反向代理
虽然正向代理服务器和反向代理服务器所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端,但是二者之间还是有一定的差异的。
1、正向代理其实是客户端的代理,帮助客户端访问其无法访问的服务器资源。反向代理则是服务器的代理,帮助服务器做负载均衡,安全防护等。
2、正向代理一般是客户端架设的,比如在自己的机器上安装一个代理软件。而反向代理一般是服务器架设的,比如在自己的机器集群中部署一个反向代理服务器。
3、正向代理中,服务器不知道真正的客户端到底是谁,以为访问自己的就是真实的客户端。而在反向代理中,客户端不知道真正的服务器是谁,以为自己访问的就是真实的服务器。
4、正向代理和反向代理的作用和目的不同。正向代理主要是用来解决访问限制问题。而反向代理则是提供负载均衡、安全防护等作用。二者均能提高访问速度。
把不同的目录或者不同的域名转发给不同服务器
RabbitMq
是什么
是一个实现AMQP协议的Mq
MQ常见产品
RabbitMq kafaka redis
安装
rabbitmq-server-3.7.3.exe,以管理员方式运行此文件,安装
配置环境变量
先添加一个ERLANFG_HOME
ERLANG_HOME=D:\Program Files\erl9.3
在path中添加
%ERLANG_HOME%\bin;
管理员身份运行 (在菜单中搜索cmd.exe然后以管理员的身份)
rabbitmq-plugins.bat enable rabbitmq_management
然后再菜单中点击start启动
验证
浏览器输入
http://localhost:15672
有下面这样就说明成功了
初始账号和密码:guest/guest
登陆进去后