Linux系统搭建Java环境【JDK、Tomcat、MySQL】一篇就够
一、搭建Linux环境??1.下载并安装一个VMware workstation,这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统。 ??2.下载一个centos安装包,linux版本有多种,比如说redhat、ubuntu、deepin、BT3,个人比较习惯使用centos,这里下载一个 CentOS-6.4-i386-bin-DVD1.iso,6.4版本的。 ??3.新建一个虚拟机,并把这个安装包导入进去,记住期间步骤有一步是需要建一个用户和设置密码,这里的用户是linux环境的普通账户,但是密码是根账户root和这个普通用户共用的密码(这节的教程也在我的博客上一节有详细的步骤) ??4.安装完成后,是图形化界面,一般我们要用到的是命令行界面,所以这里可以用快捷键 CTRL+ALT+F2,就可以切换到命令界面了。(命令行界面有几种方式可以进入,这边小七推荐的是Xshell5 比较方便使用。需要的可以留言!) ??5.用命令ifconfig查看IP 地址,然后可以考虑用Xshell来连接虚拟机,这样操作命令会比较方便,不用频繁的切换出来或者切换出去。 ??上面的安装及配置有问题的可以自行百度,网上资源很多。主要是搭建好Linux系统环境… 二、JDK安装
在etc下面的profile里面最后面配置export… export JAVA_HOME=/usr/java/jdk1.8.0_221 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin 通过java -version检查是否安装成功! 到此,JDK的配置就算完成了 三、服务器安装Tomcat8.5下载 https://tomcat.apache.org/download-80.cgi 下面来介绍下Tomcat的配置
配置JDK环境变量及配置tomcat路径: export JAVA_HOME=/usr/local/jdk1.6.0_45 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin export CATALINA_HOME=/usr/local/apache-tomcat-6.0.37 4)编辑完毕,就保存内容,命令: 先按ESC,然后输入 ”:wq“就可以保存了。 4.可以启动一下tomcat,看是否配置成功了:
四、数据库
4.1 yum安装??校验当系统是否安装mysql: rpm -qa | grep mysql ??卸载mysql: // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 rpm -e --nodeps ??三行命令: yum install mysql yum install mysql-server yum install mysql-devel ??也可以一行: yum install -y mysql mysql-server mysql-devel 4.2?通过tar.gz压缩包进行安装
rpm -qa | grep mysql
tar -xvzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz #重命名mysql57 [[email?protected]_0_17_centos mysql]# mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql57
#将mysql目录访问权限赋为myql用户 [[email?protected]_0_17_centos mysql57]# chown -R mysql /usr/mysql/mysql57 #改变mysql目录的用户组属于mysql组 [[email?protected]_0_17_centos mysql57]# chgrp -R mysql /usr/mysql/mysql57 #查看mysql目录下所有的目录及文件夹所属组合用户 [[email?protected]_0_17_centos mysql57]# cd /usr/mysql/mysql57 [[email?protected]_0_17_centos mysql57]# ll total 56 drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:24 bin -rw-r--r-- 1 mysql mysql 17987 Dec 28 2017 COPYING drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:40 data drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:24 docs drwxr-xr-x 3 mysql mysql 4096 Aug 11 21:23 include drwxr-xr-x 5 mysql mysql 4096 Aug 11 21:24 lib drwxr-xr-x 4 mysql mysql 4096 Aug 11 21:23 man -rw-r--r-- 1 mysql mysql 2478 Dec 28 2017 README drwxr-xr-x 28 mysql mysql 4096 Aug 11 21:24 share drwxr-xr-x 2 mysql mysql 4096 Aug 11 21:24 support-files 权限被修改
创建以下文件,设置访问权限,用于mysql配置中 第一步:创建文件/tmp/mysql.sock。并设置权限 创建文件 [[email?protected]_0_17_centos mysql57]# mkdir tmp [[email?protected]_0_17_centos mysql57]# cd tmp [[email?protected]_0_17_centos tmp]# ll total 0 [[email?protected]_0_17_centos tmp]# touch mysql.sock [[email?protected]_0_17_centos tmp]# ll total 0 -rw-r--r-- 1 root root 0 Aug 11 21:59 mysql.sock 设置权限 [[email?protected]_0_17_centos tmp]# chown -R mysql:mysql /usr/mysql/mysql57/tmp/mysql.sock [[email?protected]_0_17_centos tmp]# chmod 755 /usr/mysql/mysql57/tmp/mysql.sock 第二步:创建/log/mysqld.log。并设置权限 [[email?protected]_0_17_centos mysql57]# mkdir log [[email?protected]_0_17_centos mysql57]# cd log [[email?protected]_0_17_centos log]# ll total 0 [[email?protected]_0_17_centos log]# touch mysqld.log [[email?protected]_0_17_centos log]# chown -R mysql:mysql /usr/mysql/mysql57/log/mysqld.log [[email?protected]_0_17_centos log]# chmod 755 /usr/mysql/mysql57/log/mysqld.log 如果出错,说明路径没有写全,要写绝对路径 第三步:创建/tmp/mysqld.pid。并设置权限 [[email?protected]_0_17_centos log]# cd ../tmp [[email?protected]_0_17_centos tmp]# touch mysqld.pid [[email?protected]_0_17_centos tmp]# chown -R mysql:mysql /usr/local/mysql57/tmp/mysqld.pid [[email?protected]_0_17_centos tmp]# chmod 755 /usr/local/mysql57/tmp/mysqld.pid
[[email?protected]_0_17_centos mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql57/ --datadir=/usr/local/mysql57/data/ 可能会报错。报错信息 bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory ??解决方法:
[[email?protected]_0_17_centos mysql57]# yum remove libnuma.so.1
[[email?protected]_0_17_centos mysql57]# yum -y install numactl.x86_64
[[email?protected]_0_17_centos mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql57/ --datadir=/usr/local/mysql57/data/ ??安装成功?临时密码 ?配置SSL参数(在mysql目录下) [[email?protected]_0_17_centos mysql57]# bin/mysql_ssl_rsa_setup --datadir=/usr/mysql/mysql57/data/ ?由于mysql-5.7.23版本my.cnf不在/support-files下,故我们创建my.cnf文件。 [[email?protected]_0_17_centos mysql57]# touch /etc/my.cnf [[email?protected]_0_17_centos mysql57]# vim /etc/my.cnf ??复制如下内容(每个人安装路径可能不一样,需要修改): [mysqld] character_set_server=utf8 init_connect=‘SET NAMES utf8‘ basedir=/usr/local/mysql57 datadir=/usr/local/mysql57/data port = 3306 socket=/tmp/mysql.sock log-error=/usr/local/mysql57/log/mysqld.log pid-file=/usr/local/mysql57/tmp/mysqld.pid #表名不区分大小写 lower_case_table_names = 1 max_connections=5000 sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 配置完成
[[email?protected]_0_17_centos mysql57]# bin/mysqld_safe --user=mysql & 查看mysql的运行情况 [[email?protected]_0_17_centos mysql57]# ps -ef |grep mysql 第一我没有成功,因为我有个地方出问题了。我在方式二配置成功。
[[email?protected]_0_17_centos mysql57]# cp support-files/mysql.server /etc/init.d/mysql [[email?protected]_0_17_centos mysql57]# vim /etc/init.d/mysql 添加配置(i 进入编辑;esc–> :wq保存退出) 若配置了mysql自启动方式则可以使用服务方式启动mysql #查看mysql状态 /etc/init.d/mysql status 或者 service mysql status #启动mysql /etc/init.d/mysql start 或者 service mysql start #停止mysql /etc/init.d/mysql stop 或者 service mysql stop #重新启动mysql /etc/init.d/mysql restart 或者 service mysql restart 查看mysql服务说明启动成功 ps -ef|grep mysql 启动mysql [[email?protected]_0_17_centos tmp]# service mysql start Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql57/tmp/mysqld.pid). ??解决方案: a) 创建文件/usr/local/mysql57/tmp/mysqld.pid b) 修改权限 修改存放mysqld.pid文件目录的权限 chown -R mysql /usr/local/mysql57/tmp chgrp -R mysql /usr/local/mysql57/tmp chmod 777 /usr/local/mysql57/tmp 重新启动成功(如果还不行,就是中间某个步骤写错了。或者直接把mysql目录权限赋为777) [[email?protected]_0_17_centos tmp]# /etc/init.d/mysql start Starting MySQL. SUCCESS!
[[email?protected]_0_17_centos tmp]# vim /etc/profile export MYSQL57_HOME=/usr/mysql/mysql57/bin export PATH=$PATH:${MYSQ57_HOME} 这个地方是冒号 ( :) 设置环境变量立即生效 [[email?protected]_0_17_centos tmp]# source /etc/profile
切换到mysql下的bin目录 [[email?protected] bin]# ./mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) 密码错误。。而且之前安装的密码也忘记了 ??解决方案:
(注:windows下修改的是my.ini) [[email?protected]_0_17_centos bin]# vim /etc/my.cnf 在[mysqld]后面任意一行添加“skip-grant-tables?”用来跳过密码验证的过程,如下图所示: 保存并退出(esc–> :wq)
[[email?protected]_0_17_centos bin]# /etc/init.d/mysql restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS!
进入mysql/bin目录,启动mysql [[email?protected]_0_17_centos bin]# ./mysql 启动成功
mysql> use mysql; mysql> update user set authentication_string=password(" 你的新密码 ") where user="root"; mysql> flush privileges; mysql> quit
去掉[mysqld]后面的“skip-grant-tables” [[email?protected]_0_17_centos bin]# vim /etc/my.cnf 重启mysql [[email?protected]_0_17_centos bin]# /etc/init.d/mysql restart
先本地登录mysql [[email?protected] bin]# ./mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.7.21 Copyright (c) 2000,2018,Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.
突然报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> use mysql ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 解决方案:需要重新修改一下密码 mysql> alter user ‘root‘@‘localhost‘ identified by ‘修改的密码‘; mysql> flush privileges; mysql> quit;
mysql> use mysql; #改表法 mysql> update user set host=‘%‘ where user=‘root‘; #授权法 mysql> GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘ IDENTIFIED BY ‘mypwd‘ WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> quit;
[[email?protected]_0_17_centos bin]# service mysql restart;
a)配置防火墙开启3306端口 [[email?protected]_0_17_centos bin]# /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT [[email?protected]_0_17_centos bin]# /etc/rc.d/init.d/iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ] [[email?protected]_0_17_centos bin]# /etc/rc.d/init.d/iptables restart iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ] b)临时关闭防火墙 [[email?protected]_0_17_centos bin]# service iptables stop c)永久关闭防火墙 重启后永久生效 [[email?protected]_0_17_centos bin]# chkconfig iptables off 使用Navicat工具连接即可 5.部署项目下面是将项目打包部署到服务器上面了,有空的话我会接着写下面的内容!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |