目录

1,部署的关键

Linux安装软件:

主要命令:

安装JRE:

安装MySQL

二,项目的开发和编译工作

1,项目编码

2,项目构建:项目源码,依赖jar包,三方资源

3,将打好的jar包复制带linux上,如果要重新配置application.yml文件,将yml文件复制到linux软件的启动目录下,会优先从启动目录的最接近层次读取yml配置文件,原来打好的jar里面的yml文件就会被覆盖。

4,建立对应的数据库

5,运行jar包,java -jar xxx.jar

6,配置云服务器的防火墙

7,但是如果关掉了linux的控制台,服务器就会关闭,就会无法访问资源,因此还需要做一些配置。 

8,关闭程序


1,部署的关键

开发阶段  ——>   编译阶段 ——>   运行阶段/生产阶段

     windows   ——>    windows   ——> linux

javac  : java编译器                 编译阶段

IDEA:                                     开发和编译阶段

Maven:                                   开发和编译阶段

JRE:                                         全过程

MySQl:                                   开发,运行阶段

所以需要在运行环境Linux中安装MySQL和JRE,用来部署运行环境。

Linux安装软件:

1,源码编译安装,

2,使用包管理软件

3,直接下载编译好的软件

使用包管理下载软件:

CentOS上使用的包安装软件叫做yum   , Ubuntu 上使用的是apt

主要命令:

yum list                      列出市场上所有的包(包括已安装和未安装)

yum  install    包名     安装某个软件

yum remove  包名     卸载某个软件

yum update   包名     更新某个软件

安装JRE:

yum list | grep java    搜索java的的产品

安装成功验证:java -version  

linux部署架构原理 linux程序部署_windows

安装MySQL

实际上是安装MariaDB(MySQL5.1版本)

yum list | grep -i mariadb-server   : 搜索软件  , -i : 不区分大小写

yum install -y --allowerasing  mariadb-server  : 卸载原来的mysql,并安装需要的mysql

mysql --version : 验证下载成功

1,设置开机自启动

systemctl enable mariadb

2,启动mysql

systemctl start mariadb.service

查看状态

systemctl status mariadb.service

linux部署架构原理 linux程序部署_windows_02

查看mysql进程:ps aux | grep mysqld

查看mysql是否被3306端口监听:netstat -nlpt | grep 3306 

连接数据库:mysql -uroot -p(初始化密码为空)

设置mysql密码:

1,退出当前mysql命令行,进入用户权限

2,执行命令:mysql_secure_installation

设置密码,一路回车即可。

二,项目的开发和编译工作

1,项目编码

2,项目构建:项目源码,依赖jar包,三方资源

打jar包:依赖Maven,clearing ,compile , package

3,将打好的jar包复制带linux上,如果要重新配置application.yml文件,将yml文件复制到linux软件的启动目录下,会优先从启动目录的最接近层次读取yml配置文件,原来打好的jar里面的yml文件就会被覆盖。

4,建立对应的数据库

5,运行jar包,java -jar xxx.jar

6,配置云服务器的防火墙

如果浏览器一直在刷新无法获取到web资源的原因:

客户端和服务器请求建立tcp连接,建立不上

原因:

传输层:1,端口号是否被监听,2,服务器的防火墙拦截了发起的请求。

网络层:网络出现问题,因为ssh能够登录,说明网络是通的。

linux部署架构原理 linux程序部署_mysql_03

项目就部署成功。

7,但是如果关掉了linux的控制台,服务器就会关闭,就会无法访问资源,因此还需要做一些配置。 

nohup:禁止挂起,将ssh客户端关掉,进程也能正常运行。

输出重定向:标准输出 >>cash.log  错误输出  2>>cash.err

& :在后台运行

linux部署架构原理 linux程序部署_mysql_04

8,关闭程序

1,查看程序的进程id,ps aux | grep java    得到进程id 

2,kill  id,就可以关闭程序,对项目进行迭代,重新部署即可。

9,Springboot项目发布后的更新

1,打包迭代后的项目

2,通过 ps -ef | grep java 找到后台运行项目,kill 【进程id】,关闭运行的项目

3,再次运行后台项目