虚拟机安装与IP配置说明
软件下载
URL: https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
建议: 使用14/15版本
安装步骤: 一路下一步 注意路径 最好不要放到C盘中
Linux安装JDK
1. 工作目录说明
命令: 进入工作目录
cd /usr/local/src
2. 上传安装包
- JDK安装包
- 拖拽文件,实现文件上传。
- 解压文件
命令1: 解压指令
tar -xvf jdk-8u51-linux-x64.tar.gz
命令2: 删除安装文件rm -f jdk-8u51-linux-x64.tar.gz
命令3: 修改文件名称mv jdk1.8xxxxxx jdk1.8
3. 测试JDK是否正常
如果检查JDK命令不能正常执行,说明文件目录位置不正确 ,要移动到正确的位置。
命令: 查看JDK版本 java -version
命令: 文件移动目录 mv xxxx /usr/local/src/
4. JDK环境调试
命令1: vim /etc/profile
设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
命令2: 让JDK环境变量立即生效
source /etc/profile
或者重启Linux系统即可
Linux安装MariaDB数据库
1. 下载MariaDB数据库
测试:当前虚拟机是否可以正确的链接外网。
1.1 安装mariadb数据库
命令:
yum install mariadb-server
安装mariadb数据库
yum clean all
清空已安装文件 如果下载失败之后执行的。
1.2 确认下载
1.3 安装完成提示
2. 数据库启动
- 启动命令
systemctl start mariadb
- 重启命令
systemctl restart mariadb
- 关闭命令
systemctl stop mariadb
- 设定开机自起
systemctl enable mariadb
- 关闭开机自起
systemctl disable mariadb
3. 数据库初始化操作
命令:
mysql_secure_installation
一路y到底
[root@bogon src]# mysql_secure_installation
Enter current password for root (enter for none):
//输入数据库管理员root的密码(注意不是系统root的密码),第一次进入还没有设置则直接回车
OK, successfully used password, moving on...
Set root password? [Y/n] //设置密码 :y
New password: //新密码
Re-enter new password: //再次输入密码
Remove anonymous users? [Y/n] //移除匿名用户:y
Disallow root login remotely? [Y/n] //拒绝root远程登录,不管y/n,都会拒绝root远程登录
Remove test database and access to it? [Y/n] //删除test数据库,数据库中会有一个test数据库,一般不需要 ,y
Reload privilege tables now? [Y/n] //重新加载权限表,y
4. 测试数据库用户名和密码是否有效
5. Mysql数据库远程访问配置
5.1 关于链接数据库的说明
说明:
- 如果需要远程链接数据库必须通过防火墙。
- 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接。
5.2 配置数据库权限配置说明
6. 配置Linux数据库权限
6.1 切换mysql数据库
6.2 修改数据库表
1)检查表
2)查询user表中的host/root/password
3)将host=“localhost” 改为 “%”
4)刷新数据库权限
7. 配置Linux防火墙策略
7.1 检查防火墙状态
命令:
firewall-cmd --state
7.2 防火墙开启自启配置
说明:防火墙中有一个配置文件,表示当Linux系统启动时防火墙应该如何操作!!!
需求: 告诉linux系统以后开机不需要启动防火墙。
命令:
systemctl disable firewalld.service
开机禁启防火墙
systemctl enable firewalld.service
开机启动防火墙
7.3 手动关闭防火墙
说明:通过命令手动将防火墙关闭
命令:
systemctl stop firewalld.service
关闭防火墙
systemctl start firewalld.service
开启防火墙
7.4 手动开放防火墙端口
1)检查端口是否开放
命令:
firewall-cmd --list-ports
检查防火墙开放的端口
firewall-cmd --query-port 80/tcp
检查端口是否开放
2)开放防火墙指定端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
开放防火墙指定端口
3)移除指定端口
firewall-cmd --zone=public --remove-port=9090/tcp --permanent
移除指定端口
关于防火墙操作的解释
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–remove-port=80/tcp #移除端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
4)重启防火墙
firewall-cmd --reload
重启防火墙
8. 数据库远程测试
8.1 远程访问Linux中Mysql数据库
8.2 导入京淘数据库
1)点击备份操作
2)选择导出的位置
3)在Linux建立的数据库中点击导入
4)导入数据之后执行刷新即可
方式2:
如果mysql数据库需要导入数据表命令如下:
命令:
1source /xxx/xxxx/xxxx/jt.sql;
Linux部署后台服务器
1. Linux创建目录
2. 修改项目传输目录地址
说明:将来所有的图片都会上传到Linux的目录中,所以需要进行修改。如图所示。
3. 项目打包
说明: 如果打包问题,则检查maven的配置!!!
4. 上传jar包
说明:
- 在/usr/local/src/ 创建tomcats的目录
- 在tomcats内上传8091.jar包文件
5. 项目发布命令
命令:
java -jar 8091.jar
启动效果:
6. 项目测试
说明:测试数据库链接是否正常,如果出现如图效果 ,则表示一切OK
7. tomcat集群部署——前台方式
7.1 准备8091/8092服务器
说明:将后台服务器修改端口号之后,install 生成8091/8092. 传入Linux系统
7.2 使用前台方式启动项目
命令:
java -jar 8091.jar & java -jar 8092.jar &
启动成功之后;回车跳入Linux系统。
弊端: 与当前的Session绑定.。如果Session关闭,则服务器全部停止。
7.3 端口号占用问题(经常性!!!)
说明:由于操作不当,可能导致前一个tomcat服务器没有正常关闭。一直保留在内存中,之后启动必然报端口号占用。
1.查询: java进程命令 jps
7.4 关闭进程项
说明:如果需要关闭Linux系统中的进程,则需要如下命令。
命令:
kill PID号
常规关闭进程kil -15 PID号
较为严格的关闭. (当前的进程被其他进程引用 无法关闭)kill -9 PID号
强制关闭进程
7.5 访问测试
说明: 切换8091/8092 检查服务是否正常即可
8. tomcat集群部署——后台方式
8.1 使用后台方式启动项目
说明:
java -jar 8091.jar & 该方式是前台启动方式。服务会与当前的session进行绑定。如果session关闭,则服务停止。这种前台的启动只适用于测试阶段,可以直观的反应报错的信息。
通过下述命令可以实现后台启动,不会与session绑定。
命令:
nohup java -jar 8091.jar => 8091.log &
8.2 浏览文件
命令·:
cat 输出文件所有的内容 文件内容较少的场景
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁
- tail -10 nginx.conf 查看nginx.conf的最后10行
- tail –f nginx.conf 动态查看日志,方便查看日志新增的信息
ctrl+c 结束查看
8.3 脚本启动
说明: Linux系统中提供了shell脚本,可以提供批处理的机制。
注意事项: 标识符 xxx.sh 注意表头
命令:
编辑脚本:vim start.sh
脚本内容:
命令:
运行脚本:sh start.sh
Linux安装Nginx
1. 关于HOSTS文件与代理说明
通常用户访问服务器,可以通过IP或者域名的方式访问,域名与IP应该是一一对应的。
域名:由三大运营商负责提供的,同时兼容DNS服务。
DNS说明:全球的域名解析服务。域名名称------IP地址 (一般有演示 1-2天,2小时有效)
规则:如果在本机进行业务测试,则windows/Linux系统,提供了一个测试的文件。
在该文件中可以编辑域名与IP的映射关系,但是只对本机有效,该文件就是hosts文件。
1.1 编辑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
1.2 域名测试
说明: 修改hosts文件之后,,在本机已经建立了域名与IP的映射关系,通过测试保证映射是正确的。
测试如下:
2. 反向代理(必须掌握)
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址与资源地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
总结:
- 代理服务器位于 用户和服务器之间
- 用户以为代理服务器就是目标服务器.
- 用户无需了解真实服务器地址.
- 反向代理服务器保护了 服务器端的信息 (服务器端代理)
3. 正向代理(了解)
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
特点:
- 代理服务器位于用户与服务器之间
- 用户了解访问的服务器到底是谁
- 只有用户可以使用正向代理 (客户端代理)
- 正向代理保护了用户的信息
2. Nginx安装
2.1 Nginx介绍
http://nginx.org/en/download.html
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网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
特点:
-
nginx 是反向代理服务器/web服务器
-
占用内存少 不到2M tomcat 300-400M
-
并发能力强 3-5万次/秒
tomcat并发能力 150-220次/秒 JVM调优(增大运行内存) 1000次/秒 -
解析:
功能简单,只做请求的"转发"处理
使用C语言开发的软件 ,运行速度快
2.2 上传安装包
1)上传到指定目录中 /usr/local/src
2)解压Nginx 压缩文件
命令:
tar -xvf nginx-1.21.1.tar.gz
3)移动安装目录到指定文件
命令:
mv nginx-1.19.4.tar.gz software
4)修改文件名称
命令:
mv nginx-1.19.4 nginx-source
2.3 关于Nginx 目录说明
改完名称之后的结果:
2.4 安装Nginx服务器
说明:nginx-source的根目录中执行如下命令
1) 需要提前安装nginx的依赖项
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2)安装服务器
命令:
./configure
直接结果:
3)在nginx-source的根目录中 执行 make
4)在nginx-source的根目录中 执行 make install
3. Nginx工作目录说明
命令:
whereis nginx
查找工作目录
3.1 跳转到Nginx工作目录
3.2 Nginx命令
** 进入nginx/sbin目录中执行**
1.启动命令:
./nginx
2.重启命令:./nginx -s reload
3.关闭命令:./nginx -s stop
3.3 修改Nginx配置文件
需求说明:
- 实现图片反向代理
- 实现tomcat负载均衡实现
具体实现:
修改完成之后,重启nginx服务器。
#配置图片代理服务器 http://image.jt.com:80
server {
listen 80;
server_name image.jt.com;
location / {
#root D:/JT-SOFT/images;
root /usr/local/src/images;
}
}
#配置商品后台服务器
server{
listen 80;
server_name manage.jt.com;
location / {
#代理真实服务器地址
#proxy_pass http://localhost:8091;
#映射到集群
#proxy_pass http://jtWindows;
proxy_pass http://jtLinux;
}
}
#配置tomcat服务器集群 1.默认 轮询策略 2.权重策略 3.ip_hash策略
upstream jtWindows {
#ip_hash; down 标识宕机 backup 备用机
#max_fails=1 表示最大的失败次数
#fail_timeout=60s 如果访问不通,则在60秒内,不会再次访问故障机
server 127.0.0.1:8081 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8082 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;
}
upstream jtLinux {
server 192.168.126.129:8081;
server 192.168.126.129:8082;
server 192.168.126.129:8083;
}
4 前端项目发布
4.1 nginx目录结构说明
http {
#每个服务都是一个server
server {
#默认监听80端口
listen 80;
#监听域名信息
server_name localhost;
#具体反向代理服务 / 默认写法
location / {
#root 代理的是一个目录
root html;
#默认访问页面
index index.html index.htm;
}
}
}
4.2前端发布准备工作
1)修改前端的main.js
2)修改AddItem.vue 文件 指向远程服务器
4.3 前端打包操作
1)项目打包
2)打包之后的路径,打包生成dist文件目录。
4.4上传前端项目
说明: 将前端打包好的目录dist 上传到指定的位置 /usr/local/nginx 目录下, 如图所示:
4.5 配置前端反向代理
需求: 通过http://web.jt.com:80 访问前端的静态资源文件.
修改nginx配置文件
#配置前端服务器
server {
listen 80;
server_name web.jt.com;
location / {
root dist;
index index.html;
}
}
4.5 发布项目
1)上传nginx.conf文件
2)重启nginx服务
3)项目访问
5 后端服务器发布
5.1 需求分析
说明: 前端项目 web.jt.com 向后端服务器 manage.jt.com 发送请求。
问题: 后端服务器有8091/8092都可以为用户提供服务.。
难点:通过域名负载均衡一个服务器,为用户提供数据支持。
5.2 配置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;
}
}
1)上传nginx.conf文件
2)重启nginx服务
3)负载均衡测试
5.3 前后端联调
6. 实现图片回显
6.1 图片请求说明
说明: 用户请求网址 http://image.jt.com 要求代理到 /usr/local/src/images
6.2 配置图片反向代理
说明::修改成功之后,上传nginx.conf文件 之后重启服务器。
#配置图片反向代理 image.jt.com
server {
listen 80;
server_name image.jt.com;
location / {
root /usr/local/src/images;
}
}
6.3 图片回显操作
1)本地添加图片上传
2) Linux服务器中已传入文件