Linux项目部署单体项目全流程

虚拟机安装与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. 上传安装包

  1. JDK安装包

在这里插入图片描述

  1. 拖拽文件,实现文件上传。

在这里插入图片描述

  1. 解压文件

命令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. 数据库启动

  1. 启动命令 systemctl start mariadb
  2. 重启命令 systemctl restart mariadb
  3. 关闭命令 systemctl stop mariadb
  4. 设定开机自起 systemctl enable mariadb
  5. 关闭开机自起 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 关于链接数据库的说明

说明:

  1. 如果需要远程链接数据库必须通过防火墙。
  2. 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接。

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包

说明:

  1. 在/usr/local/src/ 创建tomcats的目录
  2. 在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系统中的进程,则需要如下命令。

命令:

  1. kill PID号常规关闭进程
  2. kil -15 PID号 较为严格的关闭. (当前的进程被其他进程引用 无法关闭)
  3. 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服务器的前置机来降低网络和服务器的负载,提高访问效率。

总结:

  1. 代理服务器位于 用户和服务器之间
  2. 用户以为代理服务器就是目标服务器.
  3. 用户无需了解真实服务器地址.
  4. 反向代理服务器保护了 服务器端的信息 (服务器端代理)

3. 正向代理(了解)

在这里插入图片描述
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
特点:

  1. 代理服务器位于用户与服务器之间
  2. 用户了解访问的服务器到底是谁
  3. 只有用户可以使用正向代理 (客户端代理)
  4. 正向代理保护了用户的信息

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网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

特点:

  1. nginx 是反向代理服务器/web服务器

  2. 占用内存少 不到2M tomcat 300-400M

  3. 并发能力强 3-5万次/秒
    tomcat并发能力 150-220次/秒 JVM调优(增大运行内存) 1000次/秒

  4. 解析:
    功能简单,只做请求的"转发"处理
    使用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配置文件

在这里插入图片描述

需求说明:

  1. 实现图片反向代理
  2. 实现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服务器中已传入文件
在这里插入图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值