在CentOS7.2下安装JDK、Tomcat、Mysql、Redis及碰到的问题解决详解

CentOS7.2下安装JDK、Tomcat、Mysql、Redis

安装软件需要通过安装指令,主要有三种安装方式rpm、yum及安装包解压(配制环境变量)

  • rpm(RedHat Package Manager):软件包管理工具
    • rpm包安装有一个很大的缺点:文件的关联性太大,有时候装一个软件要安装很多其他的软件包,很麻烦
    • rpm 只能安装已经下载到本地机器上的rpm包,通过rpm包下载网站,下载包(无在线查询下载包)
  • yum(Yellow dog Updater, Modified):shell前端软件包管理器
    • yum安装方法,可解决关联性问题,很方便
    • yum能在线下载并安装rpm包,且还能自动处理包与包之间的依赖问题,可以通过yum search 名 ,进行模糊查询,在线下载包

rpm、yum命令、具体区别
注: rpm和压缩包方式可以在Window上下载好传上去,也可在Linux用wget命令,命令格式:wget [参数] [URL地址] 更多参数查看


一.安装JDK

这里使用的是yum方式

  1. 检查是否联网 ping ip
  2. 查看所有jdk版本选择,yum -y list java*
  3. 选择后,安装yum -y install 包名
  4. 查看版本号 java -version

二.安装Tomcat

这里使用的是yum方式

  1. 查询tomcat包 yum search tomcat
  2. 选择对应的进行安装 yum -y install 包名
  3. 运行 systemctl start tomcat.service
  4. 写一个小例子检验,找到webapps (目录:/var/lib/tomcat)创建test/hello.html 启动后访问(腾讯云需要在安全组中设置开放的端口)

注:

  1. netstat -tunlp 查看开放的端口
  2. 改变端口号,在tomcat/conf/server.xml里,修改

遇到的问题:

  1. 将端口改成80后,用service tomcat restart,重启tomcat用netstat -tunlp查看端口,发现没有80端口。原来在lunix下,非root用户不能监听小于1024的端口号,这个tomcat服务器就没办法绑定在80端口下,所以这里需要使用linux的端口转发机制,把到80端口的服务请求都转到8080端口上
  2. 通过搜索引擎,一些博文是给出了这样的命令。在实践中不能执行(在运行mysql也碰到)
    在CentOS7.2下安装JDK、Tomcat、Mysql、Redis及碰到的问题解决详解

解决方式:

第一个问题

  • 重将Tomcat的端口(server.xml)由80改回8080
  • 通过Iptables端口实现80到8080的转发,命令为:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT - to-port 8080用root用户直接去执行就可以了!这样,用户访问80端口和8080端口其实都到了8080端口

第二个问题

centos7 使用 systemctl 替换了 service命令

可能出现的问题(本次安装中未遇到,因为防火墙已经关闭了):
防火墙问题 https://blog.csdn.net/weixin_39477597/article/details/82464731


三.安装Mysql

  1. 安装命令
    具体安装过程参考 https://blog.csdn.net/u011291990/article/details/80693925
  2. 运行 systemctl start mysql.service

初次设置密码

  • mysql -u root (实践中试的是这种)
    mysql> set password for ‘root’@‘localhost’ = password(‘mypasswd’);
    mysql> exit
  • mysqladmin -u root password 123456 (没试)

遇到的问题:

  • 启动mysql时,遇到Failed to restart mysqld.service: Unit not found

解决方式
安装mariadb-server并启动


四.安装Redis

yum实践

  1. 安装命令
    在CentOS7.2下安装JDK、Tomcat、Mysql、Redis及碰到的问题解决详解
  2. 运行 systemctl start redis.service