在Linux下安装软件jdk-tomcat-mysql

我用的是阿里云Contos 7.3的镜像,选择/usr/local目录下安装软件

/usr:系统级的目录,可以理解为C:/Windows/。
/usr/lib:理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面。

 

安装jdk

下载jdk

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装jdk

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

配置jdk环境变量

vim /etc/profile

添加如下内容:JAVA_HOME根据实际目录来

export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export  PATH=${JAVA_HOME}/bin:$PATH

重启机器或执行命令 :

source /etc/profile
sudo shutdown -r now

查看安装情况

java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

可能出现的错误信息

bash: ./java: cannot execute binary file

出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk,
查看jdk版本和Linux版本位数是否一致。
查看你安装的Ubuntu是32位还是64位系统:

sudo uname --m


i686 //表示是32位
x86_64 // 表示是64位

使用这个命令lsb_release -a可以看见更多的信息 (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)

LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.3.1611 (Core) 
Release:	7.3.1611
Codename:	Core

 

 

安装tomcat

先下载

https://tomcat.apache.org/index.html

在上传解压

tar -zxf apache-tomcat-7.0.91.tar.gz 

使用tomcat

1配置jdk的环境变量

2可以设定tomcat启动端口,修改配置文件conf下的server.xml,把里面默认的8080修改为其他端口

3开放Linux的防火墙端口,

在Centos6的iptables防火墙输入
vi /etc/sysconfig/iptables 修改文件
把-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 这句话添进去(开放8080端口)
输入service iptables restart 重启防火墙。

在Centos7的firewall防火墙输入
查看防火墙状态 # systemctl status firewalld  1)running 状态即防火墙已经开启 2)dead 状态即防火墙未开启
systemctl start firewalld  没有任何提示即开启成功
firewall-cmd --zone=public --add-port=8080/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)提示 success 表示成功
firewall-cmd--zone=public --list-ports  查看所有打开的端口
systemctl disable firewalld  关闭防火墙
firewall-cmd --reload重启防火墙(修改配置后要重启防火墙)
systemctl enable firewalld   设定开机启动
firewall-cmd --query-port=666/tcp  再次查看想开的端口是否已开,提示yes表示成功
firewall-cmd --permanent --remove-port=8080/tcp   移除端口 

tomcat报错,用centos7的时候,启动时突然很奇怪的没报错,但是又访问不了网址,调用./shutdown.sh又结束不了,后来发现日志显示服务没启动成功,显示下面这句话:

INFO: Deploying web application directory /usr/local/apache-tomcat/apache-tomcat-7.0.91/webapps/docs

后来百度博客使用下面这,就解决了


vi /usr/java/default/jre/lib/security/java.security 中的
securerandom.source=file:/dev/random
改成:
securerandom.source=file:/dev/./urandom

 tomcat外网访问不了

1服务启动成功没,看进程以及启动日志

1、先查看tomcat的进程号

ps -ef | grep tomcat


2、根据进程号查看端口号


netstat -anop | grep 15161

3、看tomcat的日志
日志在tomcat下的logs下catalina.out 
 

2端口没开放成功,根据不同版本系统查看防火墙是否开放端口成功

3如果用阿里云的话,进入阿里云服务器管理,点击更多,选择安全组配置,然后添加安全组规则

端口范围你的端口号比如:8080/8080

授权对象为:0.0.0.0/0,其他默认即可。

然后即可访问ip:8080端口。

 

安装Mysql

 

先下载

进入mysql官网获取RPM包下载地址

https://dev.mysql.com/downloads/repo/yum/

然后点击图中位置下载

在Linux下安装软件jdk-tomcat-mysql_第1张图片

然后复制下面位置的连接 

 在Linux下安装软件jdk-tomcat-mysql_第2张图片

 

右击 复制链接地址 https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

得到这个  这个就是Yum仓库的rpm包 其实就是一个下载地址

下载和安装mysql源

先下载 mysql源安装包

[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

-bash: wget: 未找到命令

我们先安装下wget 

yum -y install wget

然后执行 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

安装mysql源

yum -y localinstall mysql80-community-release-el7-1.noarch.rpm

在线安装Mysql

yum -y install mysql-community-server

 

配置Mysql

启动Mysql服务

systemctl start mysqld

设置开机启动

[root@localhost ~]# systemctl enable mysqld

[root@localhost ~]# systemctl daemon-reload

修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。

[root@localhost ~]# vi /var/log/mysqld.log    在root@localhost:后面的就是临时密码

[root@localhost ~]#  mysql -u root -p

Enter password: 

输入临时密码 进入mysql命令行;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

Query OK, 0 rows affected (0.00 sec)

修改密码为 password   (备注 mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位) 

 

设置允许远程登录

Mysql默认不允许远程登录,我们需要设置下,并且防火墙开放3306端口;

mysql> select host, user from user;  将相应用户数据表中的host字段改成'%';
mysql>update user set host='%' where user='root';

会报错:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 不予理会

所有操作后,应执行

flush privileges;

再次查看user,你会发现 root 用户的 host 已经变成 %,说明我们的修改已经成功,可以远程访问了。

但是因为因为 MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

此问题有两种方法,一种是更新 Navicat 驱动来解决此问题,另一种是将 MySQL 用户登录的加密规则修改为 mysql_native_password,我这里采用第二种方法。

修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 

password 为你当前密码。

更新 root 用户密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; 

password 为你新设置的密码。

刷新一下远程连接

FLUSH PRIVILEGES; 

 

 

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent    开放3306端口

success

[root@localhost ~]# firewall-cmd --reload

success

 

 

配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

 

[root@localhost ~]# vi /etc/my.cnf

在Linux下安装软件jdk-tomcat-mysql_第3张图片

编辑保存完 重启mysql服务;

[root@localhost ~]# systemctl restart mysqld

[root@localhost ~]# 

查看下编码:

mysql> show variables like '%character%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | utf8                       |

| character_set_connection | utf8                       |

| character_set_database   | utf8                       |

| character_set_filesystem | binary                     |

| character_set_results    | utf8                       |

| character_set_server     | utf8                       |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

 

 

 

 

 

 OK 至此 Mysql安装配置完毕;

 

 

你可能感兴趣的:(Linux)