目录
3.5.2 继续在nginx.conf文件中配置tomcat集群
上节补充:Linux系统也可以访问windos系统的数据库,同样需要打开防火墙和获取数据库权限
同样,windows系统访问Linux系统的数据库也需要打开防火墙和获取数据库权限
再使用前台项目启动命令:
页面才可以访问url获取数据:
关闭服务器页面就不能访问了:kill PID号
一 后台项目启动
1.1 业务说明
说明: java -jar 8091.jar & 该方式是前台启动方式.服务会与当前的session进行绑定. 如果session关闭.则服务停止,页面无法获取数据.
这种前台的启动只适用于测试阶段.通过前台的日志可以直观的反应报错的信息,然后到后台修改对应的代码.
1.2 后台启动
命令: nohup java -jar 8091.jar => 8091.log &
说明: 通过上述命令可以实现后台启动,不会与session绑定,但是后台启动不会像前台启动一样打印日志,可以知道哪里错了,所以后台启动时加了箭头来要求其打印日志只是不展现出来,需要查看命令.
启动8091.jar服务器后,关掉session栏,测试8091服务器会不会也关闭:
重新在页面输入url地址,发现依然可以访问获取数据:
总结:后台启动服务器的优点是,关闭session栏,页面通过url地址也可以访问数据,但是关闭服务器还需要重新登陆,jps查询进程,发现服务器还开着,使用kill关闭服务器
日志可以被修改和删除,弊端就是被用来网络诈骗,找不到操作人
查看后退出日志:先ESC , : q 在未作修改的情况下退出!
1.3 浏览文件/查看日志的相关linux指令
cat---输出文件所有的内容---文件内容较少的场景
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁
tail -10 nginx.conf 查看nginx.conf的最后10行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息
ctrl+c 结束查看,退出查看
格式:指令 日志名称.log
1.4 脚本(外挂)启动多个服务器
说明: Linux系统中提供了shell脚本. 可以提供批处理的机制.
注意事项: 标识符 xxx.sh 注意表头
1)编辑脚本: vim start.sh
2)点击字母“i”插入脚本内容: 写完后先ESC键,再输入:wq 点击enter键退出
现在只是启两台服务器,很多台的话复制粘贴改名即可
3)运行脚本的命令: sh start.sh 以后出错,先kill掉服务器(xxx.jar),然后都从运行脚本命令sh.start.sh开始,重新开启服务器
jps再查看启动了几个进程,再进行url地址的测试,看看是否启动了服务器
二 关于HOSTS文件说明
2.1 需求说明
通常用户访问服务器, 可以通过IP或者域名的方式访问. 域名与IP应该是一一对应的.
域名:由三大运营商负责提供的. 同时兼容DNS服务.
DNS说明: 全球的域名解析服务. 域名名称---绑定---IP地址 (一般有延时 1-2天, 2小时有效)
规则: 如果在本机进行业务测试. 则windows/Linux系统,提供了一个测试的文件.在该文件中可以编辑域名与IP的映射关系. 但是只对本机有效. 该文件就是hosts文件.
2.2 编辑hosts文件
用户使用域名,而用户使用的是windos系统,所以改windows的hosts文件,模拟用户访问
hosts文件的路径: C:\Windows\System32\drivers\etc
修改文件内容:
127.0.0.1 localhost
::1 localhost
#图片服务器域名
#127.0.0.1 image.jt.com
#前端域名地址
#127.0.0.1 web.jt.com
#后端域名地址
#127.0.0.1 manage.jt.com
#Linux系统配置 只对本机测试有效
192.168.126.129 image.jt.com
192.168.126.129 web.jt.com
192.168.126.129 manage.jt.com
2.3 关于hosts文件权限问题
解决策略: 找到问题集中的第5条,排查问题
2.4 域名测试
说明: 修改hosts文件之后, 在本机已经建立了域名与IP的映射关系.通过测试保证映射是正确的.
测试如下:
注意:如果出现报错,查看hosts文件修改后是否保存,或者重启计算机。
三 Nginx
3.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.nginx 是反向代理服务器/web服务器
2.占用内存少 ,不到2M,而 tomcat 300-400M
3.并发能力强 3-5万次/秒,而tomcat并发能力 150-220次/秒, JVM调优(增大运行内存) 1000次/秒
4.解析:
- 功能简单 只做请求的"转发"处理
- 开发快,语言就使用了C语言
3.2 官网
URL:http://nginx.org/en/download.html
3.2 Nginx安装
说明: 详情的说明信息 参见Nginx安装文档
3.3 代理机制
3.3.0 图片反向代理案例
不能通过网络地址查找磁盘数据(图片)
3.3.1 反向代理(必须掌握)
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
总结:
1. 代理服务器位于 用户和服务器之间
2. 用户以为代理服务器就是目标服务器.
3. 用户无需了解真实服务器地址.
4. 反向代理服务器保护了 服务器端的信息 (服务器端代理)
3.3.2 正向代理(了解)
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
特点:
1. 代理服务器位于用户与服务器之间
2. 用户了解访问的服务器到底是谁.
3. 只有用户可以使用正向代理 (客户端代理)
4. 正向代理保护了用户的信息.
小结:
1. 反向代理保护了服务器信息. 称之为服务器端代理(业务数据获取)
2. 正向代理保护了用户的信息. 称之为客户端代理. (网络出口)
3. 用户每次请求几乎都有正向和反向代理的影子.
3.4 前端项目服务器发布
3.4.1 nginx目录结构说明
需求: 通过http://web.jt.com:80 访问前端的静态资源文件.
nginx配置文件conf的解释:localhost访问80端口是,就会反向代理到nginx下html文件中的index页面
http {
#每个服务都是一个server
server {
#默认监听80端口
listen 80;
#监听域名信息,localhost指得就是Linux系统本地ip,代表192.168.126.129
server_name localhost;
#具体反向代理服务 / 默认写法
location / {
#root 代理的是一个目录
root html;
#默认访问页面
index index.html index.htm;
}
}
}
3.4.2 前端发布准备工作
1)修改前端的main.js
设定后台服务器manage.jt.com,不用写端口号,将来使用时会被nginx代替。
2)修改AddItem.vue 文件 指向远程服务器
3.4.3 前端打包操作
1)项目打包,生成静态资源文件
2)打包之后的路径 打包生成dist文件目录.
3.4.4 上传前端项目
说明: 将前端打包好的目录dist先复制到桌面,再上传到Linux系统指定的位置 /usr/local/nginx 目录下, 如图所示:mobaxterm
3.4.5 发布项目--配置前端反向代理
1)找到该目录:
修改nginx配置文件:可以先把配置文件下载到桌面,修改后再上传会nginx文件中
在nginx.conf文件最下方,但要在http大括号内,配置前端反向代理
#配置前端服务器,在http大括号内最下方添加 该文件使用的是C语言格式,所以要注意符号和格式,注释用#号,结尾要有分号;
server {
listen 80;
server_name web.jt.com;
location / {
root dist;
index index.html;
}
}
2)上传nginx.conf文件,把原来的文件删掉,再上传
3)重启nginx服务
注意:如果重启失败,需要先pkill掉nginx服务器再重新启动
步骤:
- pkill -9 nginx
- /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- ./nginx -s reload
重启后没有报错就可以进行负载均衡测试了。
3)通过Linux前端服务器域名进行项目访问:web.jt.com 回车后的效果如下:
此时只能显示登录页面,但是想要登录成功,还是需要后端服务器的发布
3.5 后端服务器发布
3.5.1 需求分析
说明: 前端项目 web.jt.com 向后端服务器 manage.jt.com 发送请求.
问题: 后端服务器有8091/8092都可以为用户提供服务.
难点: 通过域名负载均衡,二选一个服务器 为用户提供数据支持.
3.5.2 继续在nginx.conf文件中配置tomcat集群
#一次请求,访问一个服务器 集群的配置 负载均衡机制
# upstream 集群的关键字.
# tomcats 是集群的名称 可以任意 xxxx
# server 每个服务的地址
# 默认采用轮询的策略,依次访问服务器.
upstream tomcats {
server 192.168.126.129:8091;
server 192.168.126.129:8092;
}
#配置后端服务器 8091/8092 注意后面的分号;是英文的!!!!
#后端域名 manage.jt.com
server {
listen 80;
server_name manage.jt.com;
location / {
#proxy_pass 反向代理服务器发起是一个http请求
proxy_pass http://tomcats;
}
}
3.5.3 上传文件/重复nginx服务
1)上传服务
2)再次重启nginx服务器
3)负载均衡测试
3.5.4 前后端联调
1)输入用户和密码 admin666/admin
2)登录成功,所有操作都正常执行
3) 上传文件,查看效果:
Linux系统目录下会有上传的图片目录:
注意:如果此处出错,详见错误记录文档!!!!!
3.6 实现图片回显
3.6.1 图片请求说明
说明: 用户请求网址 http://image.jt.com 要求代理到 /usr/local/src/images
3.6.2 配置图片反向代理
说明: 修改成功之后,上传nginx.conf文件 之后重启服务器: ./nginx -s reload
#配置图片反向代理 image.jt.com
server {
listen 80;
server_name image.jt.com;
location / {
root /usr/local/src/images;
}
}
3.6.3 图片回显操作
右键复制图片地址,就可以在网页中也可以打开了!!!!
四 git学习
4.1 运行过程
组成部分: 1. 工作区 2.缓存区 3.本地仓库 4.远程仓库
4.2 git 安装和下载
网址: https://git-scm.com/downloads
说明: 下载安装成功,之后一路下一步即可.
4.3 注册账号
4.4 git常用命令说明
步骤1: 创建git库
git命令:
1.检查当前分支 git branch
2.创建分支 git checkout -b 新分支名称
3.推送新分支 git push -u origin 新分支名称 第一次推送需要写-u
4.将文件添加到暂存区 git add .
5.提交代码 git commit -m “提交消息”
6.推动代码到云端 git push
7.合并代码到主分支 git merge 分支名称
8.克隆代码 git clone “仓库地址”
9.将远程库的数据更新到本地仓库 git pull
4.5 DOS命令窗口执行git命令--方式1主要使用
1)DOS命令窗口执行以下三个命令,将远程仓库克隆到本地仓库:
git config --global user.name "戚乐涛涛"
git config --global user.email "9473179+qi-letao@user.noreply.gitee.com"
git clone https://gitee.com/qi-letao/cgb2105.git
2)入门案例随便写一点内容保存
3) 初始化-绑定-添加内容
4)有可能需要登录用户名和密码 ,最后在git网页远程仓库刷新页面就可以看到上传的"入门案例"了
5)远程仓库的文件下载到本地仓库:git pull
4.6 IDEA 关联GIT--方式2
1) 安装插件:
4.6.1 本地上传到远程
1) 打开git本地仓库
2)本地创建文件传到远程仓库
3)push后可能需要提供私人令牌才能上传,在你的git账号里先设置私人令牌即可,令牌就是一个描述,设为密码的格式即可,但是令牌要妥善保管好!!!!在IDEA里输入令牌即可上传文件成功.刷新网页即可出现新建的文件
4.6.2 远程仓库拉取到本地仓库
1)远程仓库拉取到本地仓库和IDEA中:
远程仓库cgb2105新建一个文件:
2)idea操作