• 服务器技术(二)--Linux进阶应用(3)--Bash Shell及Linux部署办公OA项目实践


    Bash Shell

    什么是Shell

    Shell是一个用C语言编写的脚本解释器,是用户通过代码操作Linux的桥梁。
    Shell脚本描述要执行的任务,完成系统复杂操作,文件通常以**.sh**后缀。
    Shell脚本通过Shell解释器执行,按解释器分类分为多种类型。

    Linux Shell分类

    在这里插入图片描述

    一键发布Tomcat应用程序

    在/usr/local目录下执行vim deploy_tomcat.sh编辑内容如下,其中第二行地址从tomcat官网复制的
    在这里插入图片描述
    保存后执行chmod 755 deploy_tomcat.sh给文件授执行的权利
    在这里插入图片描述
    然后执行命令./deploy_tomcat.sh执行脚本
    在这里插入图片描述
    然后在windows远程访问成功
    在这里插入图片描述

    Linux部署办公OA

    部署架构

    在这里插入图片描述
    首先,安装第一台虚拟机,打开VMware,点击创建新的虚拟机,具体安装步骤参考之前的文档,这里把不一样的地方截图了下。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后执行yum install -y net-tools.x86_64安装网络工具(因为CentOS是最小安装,如果不按装net-tools.x86_64的话ifconfig都执行不了)
    安装完成后可以执行ifconfig了
    在这里插入图片描述
    同样的方法安装完成第二个虚拟机,命名为CentOS_WEB

    CentOS安装MySQL8

    首先用XShell连接两个虚拟机,打开CentOS_DB端,执行命令yum search mysql-community,没有找到mysql社区办资源
    在这里插入图片描述
    浏览器打开MySQL资源官网
    https://dev.mysql.com/downloads/repo/yum/
    在这里插入图片描述
    在No thanks, just start my download.上右键选择复制链接地址在这里插入图片描述
    回到XShell,输入wget 后面粘贴我们复制好的地址执行,发现wget不存在,然后安装wget,执行yum install -y wget
    在这里插入图片描述
    在这里插入图片描述
    然后切换到/usr/local目录下,新建mysql目录,切换到该目录,执行wget
    在这里插入图片描述
    下载完成后当前目录有了mysql的rpm安装包
    在这里插入图片描述
    然后执行yum localinstall -y mysql80-community-release-el7-6.noarch.rpm
    在这里插入图片描述
    安装完成后,此时看到mysql的安装源已经被安装到系统了
    在这里插入图片描述
    然后执行yum search mysql-community就能找到安装源了
    在这里插入图片描述
    然后执行yum install -y mysql-community-server
    在这里插入图片描述
    如果下载完成依赖软件包出现了如下图获取GPG秘钥失败,请切换到/etc/yum.repo.d目录。在这里插入图片描述
    执行vi mysql-community.repo,把将gpgcheck修改为:gpgcheck=0 保存退出
    在这里插入图片描述
    然后切换目录到/usr/local/mysql重新执行yum install -y mysql-community-server
    在这里插入图片描述
    最后看到完毕两字,说明安装成功。
    在这里插入图片描述
    启动mysql服务,执行systemctl start mysqld没有提示其他信息说明启动成功。
    在这里插入图片描述
    可以执行netstat -tulpn查看监听网络端口
    在这里插入图片描述
    也可以执行systemctl status mysqld查看具体mysql服务情况
    在这里插入图片描述
    执行systemctl enable mysqld将mysql服务设置为开机启动。
    在这里插入图片描述
    MySQL安装成功后,却不知道root账号密码,需要执行vi /var/log/mysqld.log打开mysql日志,如图所示为初始化密码,复制下来。
    在这里插入图片描述
    然后执行mysql -uroot -p登录本机mysql,密码输入提示时粘贴刚才复制的密码回车,登录成功。
    在这里插入图片描述
    然后修改密码,输入alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘1qaz@WSX’;注意这里密码需要有英文数字特殊符号长度大于等于8位。
    在这里插入图片描述
    其中with mysql_native_password为兼容性考虑,MySQL 8存储密码时默认采用SHA256的方式加密存储,而早期MySQL 5 则是用本地密码表的方式,旧版本Navicat登录MySQL可能不兼容MySQL 8新加密方式,所以添加这个语句让Navicat和MySQL 8更好的兼容。

    还有’root’@‘localhost’表示root用户只能在本地登录,为了远程登录并初始化数据库,需要修改root用户允许登录的设备,首先切换到mysql数据,执行use mysql,然后执行select host,user from user;语句。
    在这里插入图片描述
    host代表这个用户允许登录的主机,需要修改这个值,执行update user set host=’%’ where user=‘root’;语句。%代表任意设备都可以登录root用户。
    在这里插入图片描述
    为了让root用户权限生效,还得执行下flush privileges;
    在这里插入图片描述
    设置完后输入exit退出mysql
    在这里插入图片描述
    然后需要防火墙放行3306端口,执行firewall-cmd --zone=public --permanent --add-port=3306/tcp,然后重载防火墙,执行firewall-cmd --reload
    在这里插入图片描述
    然后在windows上打开Navicat连接MySQL
    在这里插入图片描述
    然后创建数据库
    在这里插入图片描述
    在创建好的数据库上右键选择执行SQL文件,选择从之前做的OA系统的数据库导出的sql文件
    在这里插入图片描述
    在这里插入图片描述
    运行完成后刷新,数据表和数据都有了。
    在这里插入图片描述

    部署配置Web应用服务器

    XShell连上CentOS_WEB虚拟机,执行yum search jdk
    在这里插入图片描述
    可以看到仓库里提供了openjdk(openjdk是Oracle提供的开源jdk),我们执行yum install -y java-1.8.0-openjdk安装
    在这里插入图片描述
    安装完后我们可以执行java -version看看安装的版本
    在这里插入图片描述
    也可以执行which java看看安装的位置
    在这里插入图片描述
    然后我们安装tomcat,打开Xftp把下载好的tomcat安装包上传到/usr/loacal目录下
    在这里插入图片描述
    然后打开XShell把目录切换到/usr/local下,执行tar zxf apache-tomcat-8.5.81.tar.gz解压
    在这里插入图片描述
    然后我们对应用程序部署,打开Xftp上传打包好的war包
    在这里插入图片描述
    然后回到XShell进行解压,执行unzip -d ./apache-tomcat-8.5.81/webapps/oa ao-1.0-SNAPSHOT.war(如果没有unzip命令,请执行yum install -y unzip安装命令组件)
    在这里插入图片描述
    执行yum install -y vim-common安装vim公共基础包
    在这里插入图片描述
    安装完后再执行yum install -y vim-enhanced安装vim增强扩展包
    在这里插入图片描述
    然后执行vim ./oa/WEB-INF/classes/mybatis-config.xml打开MyBatis配置文件,修改数据库配置保存
    在这里插入图片描述
    然后回到上一层,执行vim ./conf/server.xml
    在这里插入图片描述
    输入/8080找到端口配置,改成80
    在这里插入图片描述
    然后再按键盘PgDn找到如下图位置,添加标签保存。
    在这里插入图片描述
    然后执行./bin/startup.sh启动tomcat,启动后执行netstat -tulpn查看启动端口
    在这里插入图片描述
    然后防火墙开发80端口在这里插入图片描述
    然后在windows上打开浏览器输入ip可以访问了
    在这里插入图片描述
    最后把CentOS_DB端防火墙放开的3306端口只对CentOS_WEB端放开,首先关闭3306端口的放开,打开XShell连接CentOS_DB端,执行firewall-cmd --zone=public --permanent --remove-port=3306/tcp并重载防火墙
    在这里插入图片描述
    然后执行firewall-cmd --zone=public --permanent --add-rich-rule="rule family=“ipv4” source address=“192.168.52.130” port protocol=“tcp” port=“3306” accept "并重载防火墙
    在这里插入图片描述
    然后回到CentOS_WEB端,重启tomcat
    在这里插入图片描述
    然后在windows浏览器中依然可以访问到应用,但是Navicat却连不上数据库,说明配置成功。

  • 相关阅读:
    OpenCV项目开发实战--使用 EigenFaces 进行人脸重建 (含C++/Python源码)
    redis缓存问题(数据库一致性,穿透,雪崩,击穿)
    ssm+微信小程序网易云音乐设计与实现毕业设计源码261620
    C# —— 逻辑运算符
    LeetCode每日一题(1717. Maximum Score From Removing Substrings)
    JAVA毕业设计HTML5“牧经校园疫情防控网站”设计与实现计算机源码+lw文档+系统+调试部署+数据库
    【牛客 - 剑指offer】JZ78 把二叉树打印成多行 两种方案(递归+非递归) Java实现
    7-2 时间换算
    Spring 02
    Linux服务器部署JavaWeb后端项目
  • 原文地址:https://blog.csdn.net/qq_32091929/article/details/125324684