1.部署的时候可以多节点部署(一个点上一台服务器),emmmm…我的服务器要加油了,你一个人扛下了所有.Giao!
2.首先是进行域名解析
第一次见识到这个还可以这么使用,解析域名,配置几个节点
前端用web+域名(牛蛙)这里如果不输端口号的话,默认就是80端口,会访问nginx
后端用api+域名(牛哇)
3.后端打包上传到云服务器
mvn install -Dmaven.test.skip=true
打包之后就使用filezilla及进行上传
这个有很多需要注意的事项
1.首先需要规范一下目录的设计,这里我采用的是新建一个api的目录,然后将压缩包放进去
2.放进去了之后需要再创建一个application.properties的配置文件,然后将idea的配置数据拷贝上去
【注意点】【1.数据库名保持一致;2.数据库密码保持一致;3.还需注意单词关键字不要写错】
3.启动项目:nohup java -jar -Dspring.config.additional-location=./application.properties online_xdclass-0.0.1-SNAPSHOT.jar &【springboot更新了之后,用老版的语法读取不了配置文件,收藏夹里有】【nohup守护进程】
4.启动之后再次查看api目录,会发现多出来了个nohup.out文件,使用tail -f nohup.out对文件进行查看,可以看见跟idea一样的启动信息
5.关于端口的占用,以及杀进程,有时候执行第四步的时候会发现端口被占用,这时我们把该端口下的进程杀掉就行
netstat -tln:查看所有端口
netstat -tunlp | grep 端口号 :查看该端口号下的进程id
kill -9 进程id:杀掉进程
这样重新启动项目就不会发生端口占用的情况
6.首先测试一下本地的连接:curl 127.0.0.1:端口号/访问路径
7.启动没问题之后我们还需要到云服务器的安全组配置规则,也就是需要开放你的项目的端口
8.开放之后我们进行外网访问
数据正常读出,没有什么问题
4.前端打包上传到服务器
前端上传比较简单
1.使用cnpm run build打包,然后用filezilla将dist文件夹上传之 /usr/local/software/font_end/
2.修改一下nginx的配置文件即可,首先要移动到nginx的conf目录下
命令语句:vim nginx.conf
然后再重启nginx服务器即可
这样你就可以访问前端静态资源了
【这里的项目启动是根据不同的端口访问不同的节点,也就是把项目的分配不同的端口以作区分】
集群部署:
在配置里面加上
至此,已部署完毕,接下来解决遗留问题
问题1:nginx只能是一个服务器上装一个吗?
这个不建议一个服务器上装多个这样搞,意义不大,一个nginx服务就可以提供多个端口的绑定,多个网站的绑定,只装一个好
首先,这个在线教育的系统使用的是横向扩展方式,
疑问:节点部署好之后,是nginx服务器自动分配的吗?
这个是nginx的分发算法去进行操作的
upstream module
nginx的upstream 目前支持4种方式的分配
(1)轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
(2)weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
(3)ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务,好处是可以解决session的问题。
因此前两种只能处理静态页面,而这种方式可以处理动态网站。
(4)fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
(5)url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务 ,后端服务器为缓存时比较有效。
问题2:什么是nginx集群(负载均衡)?
什么是集群:计算机集群简称集群,是一种计算机系统,通过一种松散继承的计算机软件或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。将多个物理机器组成一个逻辑计算机,实现负载均衡和容错。
nginx集群原理:
在Nginx集群中Nginx扮演的角色是:分发器。
任务:接受请求、分发请求、响应请求。
nginx集群实质:
Nginx集群其实是:虚拟主机+反向代理+upstream分发模块组成的。
虚拟主机:负责接受和响应请求。
反向代理:带领用户去数据服务器拿数据。
upstream:告诉nginx去哪个数据服务器拿数据。
原文链接:https://blog.csdn.net/zhanzhan666/article/details/112878900
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/6996