1.软件的安装

1.1二进制发布包安装

  • 平台编译打包好.解压即可使用
  • 如: 安装 jdk、tomcat

    • 解压 tar -zxvf *.tar.gz -C 指定的解压目录
    • 配置环境变量 vim etc/profile
    • 刷新配置 source etc/profile
    • 检查是否安装成功 java -version

      1.2rpm安装 (Red-Hat Package Manager)

  • 软件按照redhat包管理规范打包,使用rpm命令安装

  • 缺点:不能解决库依赖的问题, 需要手动维护
    • 相关命令
      • rpm -qa 查询当前系统中安装的所有软件

rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
rpm -e —nodeps 软件名称 卸载软件
rpm -ivh rpm安装包 软件安装

  • 如 安装mysql

    1.3yum安装

  • 一种在线安装方式, 借助第三方yum源仓库提供的资源

  • 安装过程自动解决库依赖的问题 需要联网

    • yum repolist 检查当前的yum源
    • yum install 软件名 安装指定的软件

      1.4源码编译安装

  • 软件以源码的方式发布, 需要自己编译打包

  • 如: 安装redis

    2安装lrzsz

  • Linux系统中文件上传下载的软件

  • yum list lrzsz 搜索lrzsz安装包
  • yum install lrzsz.x86_64 在线安装lrzsz
  • 输入rz 选择要上传的文件

    3 查询进程

    查询系统进程

  • ps —ef 查询所有进程

  • ps命令用于查看Linux中的进程数据。

    • ps —ef | grep 关键字 查询相关的进程

      • 如 ps -ef | grep tomcat 查询tomcat系统进程
      • kill -9 进程id 杀掉相关的进程

      查询服务进程

  • netstat -tunlp 查询已启动的服务

  • netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

    • netstat -tunlp | grep 关键字
    • 如 netstat -tunlp | grep 3306 查询进程为3306启动的服务

      3 防火墙

  • systemctl status firewalld 查看防火墙状态

  • systemctl stop firewalld 暂时关闭防火墙
  • systemctl disable firewalld 永久关闭防火墙(禁用开机自启)
    • 下次启动,才生效
  • systemctl start firewalld 暂时开启防火墙
  • systemctl enable firewalld 永久开启防火墙(启用开机自启)
    • 下次启动,才生效
  • systemctl restart firewalld 重启防火墙
  • firewall-cmd —zone=public —add-port=8080/tcp —permanent 开放指定端口
    • 需要重新加载生效
  • firewall-cmd —zone=public —remove-port=8080/tcp —permanent 关闭指定端口
    • 需要重新加载生效
  • firewall-cmd —reload 立即生效(重新加载)
  • firewall-cmd —zone=public —list-ports 查看开放端口

4 部署项目

4.1手动部署

  • 安装环境,将项目打包成jar包
  • 将jar包上传到linux上,使用指令启动项目:java -jar 项目名
  • 后台运行程序:nohup java -jar 项目名 &>hello.log &

    • 后台运行项目, 并将日志输出到hello.log日志文件中
    • nohup java -jar helloworld.jar > tmp.log 2>&1 &

      4.2基于shell脚本自动部署

      image.png

      4.2.1 操作步骤:

  • 在Gitlab上创建远程仓库,并将本地的项目代码推送到远程仓库中

  • 在Linux中安装Git,克隆代码
    • 通过 ssh-keygen -t rsa 指令获取公钥,配置在gitlab上实现免密
  • 在Linux中安装maven

    • 进入vim etc/profile 配置环境变量

      1. MAVEN_HOME=/usr/local/apache-maven-3.5.4
      2. PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
    • source /etc/profile 刷新配置

    • 配置本地和远程仓库 vim settings.xml ```xml <—本地仓库—>/usr/local/repo

<—远程仓库—>

alimaven central aliyun maven http://maven.aliyun.com/nexus/content/groups/public/


- 初始化通过指令   Git clone  ssh链接   克隆代码到linux上
- 上传shell脚本
- 使用Shell脚本(拉取代码、编译、打包、启动)   脚本包含的功能:
   - 停止正在运行的项目 kill -9 id
   - 拉取代码  Git pull
   - 编译、清理、打包
      - mvn clean package -Dtest.skip=true
   - 切换到target 目录下启动项目
      - nohup java  -jar 项目名  >2>&1 &
<a name="JbKbA"></a>
## 5 修改Linux权限

![image.png](https://cdn.nlark.com/yuque/0/2022/png/28994770/1656345120278-68750a94-b80f-4a54-9244-b3ce72626826.png#clientId=u1d51a84a-0e15-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=305&id=ub7c21ddf&margin=%5Bobject%20Object%5D&name=image.png&originHeight=305&originWidth=874&originalType=binary&ratio=1&rotation=0&showTitle=false&size=84861&status=done&style=none&taskId=u695ba26e-461b-4022-a392-dc1bde4c298&title=&width=874)
```shell
chmod 777 bootStart.sh   为所有用户授予读、写、执行权限
chmod 755 bootStart.sh   为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh   为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限