目录

一、前言

二、版本要求

三、安装资料下载

四、开始安装

安装mysql数据库(先开始坑最多的)

安装tomcat

上传jdk

安装aapt工具

后续部署步骤


一、前言

这里公司加购一台服务器,这里记录一下部署的相关步骤。

后续公司人员直接参考这个就行。也会记录一些相应踩坑解决方案。

本章不记录yum、docker等其他安装方式,都用rpm包或者tar.gz的形式。因为公司大部分客户环境都处于内网状态。

 

二、版本要求

centOs版本要求:6(64位)

jdk版本:jdk8_161及以上

tomcat版本:tomcat8

 

三、安装资料下载

mysql5.6.36的rpm安装包

glibc-2.17.zip

apache-tomcat-8.5.38.tar.gz

jdk-8u192-linux-x64.tar.gz

 

 

U盘挂载教程链接:linux复制u盘文件,挂载u盘 使用挂载U盘的方式的话,忽略下面所有的rz/sz命令,
直接在u盘的挂载目录拷贝到指定目录即可

cp -r u盘文件路径 服务器路径

 

 

四、开始安装

 

 

安装mysql数据库(先开始坑最多的)

 

1.下载mysql的rpm包(参考上述安装资料)

解压后分别得到两个文件:MySQL-client-5.6.36-1.el7.x86_64.rpm、MySQL-server-5.6.36-1.el7.x86_64.rpm

 

2.创建mysql文件夹

cd /usr/local/

mkdir mysql

ls -l

执行完成效果应该如下:

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建

进入mysql文件夹

cd mysql

 

2.将rpm包上传至Linux(使用rz/sz方式)

rz

  • 如果输入rz之后提示“rz: command not found”  则表示需要安装一下rz/sz传输工具。
  • 需要安装rz则点击链接:Linux下安装rz/sz传输工具(内网环境选择编译安装方式)
  • 如果刚安装完rz/sz的同学,这里要把目录切会到mysql:cd /usr/local/mysql

利用“rz”命令分别将两个mysql文件上传。

MySQL-client-5.6.36-1.el7.x86_64.rpm
MySQL-server-5.6.36-1.el7.x86_64.rpm

ls -l

如上传完成,效果应如下图。

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_02

 

3.安装

 

安装server

rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm

这里我提示如下错误

linux部署的java项目内存占用过高 linux中java占用u盘_linux_03

这里有两个错误。

我们先看“Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY”

原因:这是由于安装了旧版本的GPG keys造成的。

从 RPM 版本 4.1 开始,在安装或升级软件包时会检查软件包的签名。

解决办法:后面加上:--force --nodeps

rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm --force --nodeps

 

第二个错误就是需要支持2.17版本的GLIBC_,我们需要升级一下GLIBC_

我们查看本机现在支持的GLIBC_版本号分别是多少

strings /lib64/libc.so.6 |grep GLIBC_

linux部署的java项目内存占用过高 linux中java占用u盘_linux_04

由此可见:我们这里最高支持2.12,所以我们需要升级glibc,从而支持2.17版本。

可参考我另一篇博客:Linux 解决报错"libc.so.6: version GLIBC_2.14 not found"

glibc2.17的版本参考上述安装资料,根据博客内解压步骤开始即可。

博客内是升级到2.14的,需要两个压缩包,这里升级到2.17仅需要一个。

博客内涉及到“glibc-ports-2.14”的操作自行可忽略,仅执行“glibc-2.14”的步骤。

升级完成后再次查看支持的GLIBC_版本号如下

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_05

这里再尝试安装一下看看

rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm --force --nodeps

 

又提示如下问题

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_06

这里看“version `GLIBCXX_3.4.15' not found”

大致意思就是需要3.4.15的gcc版本,但是我们没有,那看一下我们支持最高的是多少。

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_07

由此可见,本机最高支持的是3.4.13,所以这里需要升级一下。

升级步骤参考另一篇博客:

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found

 

升级完成之后再尝试安装一下看看

rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm --force --nodeps

 

安装过程中提示如下错误

linux部署的java项目内存占用过高 linux中java占用u盘_linux_08

提示加载libraries出问题了,这里本人操作失误。

上述安装步骤已更改,跟着步骤不会犯这个错误。

 

修改完成之后再次尝试安装server又提示如下错误

linux部署的java项目内存占用过高 linux中java占用u盘_jdk_09

原因:缺少共享库,64位上运行32位的软件需要安装32位库。

安装步骤参考另一篇博客:libstdc++.so.6: cannot open shared object file: No such file or directory

 

这回安装完成之后再尝试安装mysql

rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm --force --nodeps

出现下图表示安装server成功!

linux部署的java项目内存占用过高 linux中java占用u盘_jdk_10

 

安装client

rpm -ivh MySQL-client-5.6.36-1.el7.x86_64.rpm

我这里还是提示“Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY”这个错误。

所以这里添加“ --force --nodeps”强制安装。如下:

rpm -ivh MySQL-client-5.6.36-1.el7.x86_64.rpm --force --nodeps

 

安装client成功

linux部署的java项目内存占用过高 linux中java占用u盘_jdk_11

 

4.启动mysql

service mysql start

这里我提示如下错误

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_12

原因:未初始化数据库

  

执行一下如下初始化命令

mysql_install_db --user=mysql

再次执行启动mysql的指令

启动成功如下图

linux部署的java项目内存占用过高 linux中java占用u盘_tomcat_13

 

至此!mysql安装完成!

 

 

 

安装tomcat

 

1.下载tomcat的tar.gz包(参考上述安装资料)

解压后得到文件:apache-tomcat-8.5.38.tar.gz

 

2.上传解压tomcat

cd /usr/local/

rz

tar -zxvf apache-tomcat-8.5.38.tar.gz

ls -l

执行完成效果应该如下:

linux部署的java项目内存占用过高 linux中java占用u盘_tomcat_14

进入tomcat文件夹

cd apache-tomcat-8.5.38

 

2.删除自带项目

rm -rf webapps/*

 

3.配置https协议

上传证书:tomcat.keystore

mkdir key

cd key

rz

修改tomcat配置采用https协议

vim ../conf/server.xml

 

找到高亮的如下内容

linux部署的java项目内存占用过高 linux中java占用u盘_jdk_15

点击键盘“i”进入编辑模式。

将上述内容修改为下列内容

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="800" minSpareThreads="100" maxQueueSize="100" useBodyEncodingForURI="true" URIEncoding="UTF-8" prestartminSpareThreads="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/apache-tomcat-8.5.38/key/tomcat.keystore" keystorePass="密码" />

修改完成依次点击键盘:  Esc    :   wq    Enter

保存完成会退出编辑界面。

 

至此,tomcat安装完成!

 

 

上传jdk

 

1.下载jdk的tar.gz包(参考上述安装资料)

解压后得到文件:jdk-8u192-linux-x64.tar.gz

 

2.上传解压jdk

cd /usr/local/

rz

tar -zxvf jdk-8u192-linux-x64.tar.gz

ls -l

执行完成效果应该如下:

linux部署的java项目内存占用过高 linux中java占用u盘_linux_16

 

至此jdk安装完成!

 

 

安装aapt工具

注:俺公司项目用到这个工具,所以这里需要装。其他同学自行忽略。

移步另一篇博客:linux下载安装aapt工具

 

 

后续部署步骤

上面那些主要把该需要的软件环境都安装完成,接下来具体配置一下即可。

 

1.设置mysql密码(默认密码为空)

进入mysql

mysql -uroot -p

use mysql;

update user set password=password("新密码") where user="root";

flush privileges;

显示如下内容表示修改成功

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_17

 

2.开放3306跟443端口

vim /etc/sysconfig/iptables

添加如下两条内容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_18

重启防火墙

service iptables restart

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_19

3.开启mysql远程访问

进入mysql操作界面

mysql -uroot -p

输入刚刚修改的密码

授权root用户可任意远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;

使修改生效

flush privileges;

退出mysql

exit;

 

用远程连接工具尝试连接mysql,这里以Navicat为例。

linux部署的java项目内存占用过高 linux中java占用u盘_linux_20

发现并连不上,这里我用的服务器是云服务器,需再去额外设置安全组。

linux部署的java项目内存占用过高 linux中java占用u盘_jdk_21

在云服务器安全组的入方向添加一个3306的TCP即可!

这里顺便把需要用到的443端口也一并开了。

linux部署的java项目内存占用过高 linux中java占用u盘_linux_22

如果仍然连接不上,参考另一篇博客:远程连接mysql“Lost connection to MySQL server at 'waiting for initial communication packet', system err”

linux部署的java项目内存占用过高 linux中java占用u盘_linux_23

 

 

4.配置tomcat的jdk

进入tomcat目录

cd /usr/local/apache-tomcat-8.5.38

修改catalina.sh文件指向jdk地址

vim bin/catalina.sh

在开始的空白处添加如下两段内容

export JAVA_HOME=/usr/local/jdk1.8.0_192/
export JRE_HOME=/usr/local/jdk1.8.0_192/jre

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_24

 

修改setclasspath.sh文件指向jdk地址

vim bin/setclasspath.sh

同样添加上述两段相同内容。如下

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_25

 

 

5.导入项目sql

上传sql文件

cd /usr/local/apache-tomcat-8.5.38

mkdir sql && cd sql

rz

进入mysql界面

mysql -uroot -p

输入密码

创建数据库

create database 数据库名 DEFAULT CHARACTER SET utf8;

选择新创建的数据库

use 数据库名;

导入sql

source /usr/local/apache-tomcat-8.5.38/sql/文件名.sql;

显示如下内容表示正在导入,耐心等待。

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_26

导入完成,退出mysql

exit;

 

 

6.部署项目

 

进入tomcat的webapps目录

cd /usr/local/apache-tomcat-8.5.38/webapps

上传项目的war包

rz

启动tomcat

../bin/./startup.sh

这里出现一个小插曲,我远程访问tomcat项目时一直超时。

这里我先确认了一下443端口的问题,防火墙已开放,安全组已开放,tomcat启动正常无报错。

远程使用工具尝试访问443端口均超时,访问之前配置的3306就可以。这里确定是端口问题。

联系了一下天翼云客服才知道。说是他们服务器如果要用四个端口必须要备案。分别是:80、8080、443、8443

那这里就没办法,换个端口号了,具体流程不写了,其他阿里华为腾讯云服务器或者内网机器均不存在这个问题。

这里我就临时换成8888了。

 

 

7.设置mysql开机自启

 

查看是否已经默认自启

chkconfig --list

如果已经列表中有mysql了。并且3、4、5均为on的话表示已经有自启服务了。

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_27

如果不是on的话,只需执行如下一条指令就行了。

chkconfig --level 345 mysql on

 

如果列表中没有mysql,则看下列步骤往下执行。

查找mysql.server位置

find / -name mysql.server

linux部署的java项目内存占用过高 linux中java占用u盘_mysql_28

由此可见,我的在usr/share/mysql底下。

 

把这个文件拷贝到init.d文件夹下。

cp /usr/share/mysql/mysql.server /etc/init.d/mysql

赋予可执行文件权限

chmod +x /etc/init.d/mysql

添加mysql服务

chkconfig --add mysql

查看服务列表

chkconfig --list

跟上述的一样,如果3、4、5有一个不是on的话执行下列命令,反之忽略

chkconfig --level 345 mysql on

 

至此mysql自启已设置完成。

 

 

8.设置tomcat开机自启

进入tomcat目录

cd /usr/local/apache-tomcat-8.5.38

修改startup.sh文件

vim bin/startup.sh

添加如下内容

export JAVA_HOME=/usr/local/jdk1.8.0_192
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/apache-tomcat-8.5.38

linux部署的java项目内存占用过高 linux中java占用u盘_环境搭建_29

 

修改rc.local文件

vim /etc/rc.d/rc.local

添加如下内容

/usr/local/apache-tomcat-8.5.38/bin/startup.sh

linux部署的java项目内存占用过高 linux中java占用u盘_jdk_30

 

 

10.设置完成,重启机器测试是否自启

重启命令

reboot

 

查看mysql是否启动

mysql -uroot -p

查看tomcat是否启动

ps -ef|grep tomcat

 

都启动正常,页面访问也没问题,搞定!完事