在“Vmware下配置Centos7服务器(一)”一文中已经配置好了虚拟机,Centos7等相关的网络环境,接下来就开始搭建Linux的Java Web服务器了。
第一步:配置jdk环境
1.检查并卸载自带的jdk:
查询命令:java -version ;javac -version (自带的jdk没有安装Javac服务,不能编译java文件)
查询命令:rpm -qa | grep java
卸载命令:rpm -e --nodeps java版本(根据查询命令,卸载对应的Java版本)
2.下载linux版本的jdk安装包,并将安装包放在Linux中;例如:usr/local/jdk;若无法直接移动,则向将安装包放在home/admin..下,然后再切换成为root权限:su root;再使用移动命令:rm 安装包路径 目标路径 ;然后解压
3.解压:tar -zxvf 安装包名
4.配置环境变量,命令:vim /etc/profile
在文末添加配置:
export JAVA_HOME=/usr/local/jdk... #jdk安装路径
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin然后保存退出:ESC ->":wq"
5.测试:命令:source /etc/profile(修改内容在当前终端有效)
输入:java -version ; javac -version 都应该有效
第二步:配置Tomcat
1.在官网下载Linux版本的Tomcat(.tar.gz类型),并将安装包放在Linux中;例如:usr/local/tomcat;若无法直接移动,则向将安装包放在home/admin..下,然后再切换成为root权限:su root;再使用移动命令:rm 安装包路径 目标路径 ;然后解压:
2.解压:tar -zxvf 安装包名
3.测试,解压完成后,进入tomcat的安装目录下,然后进入bin目录,开启tomcat服务
命令:./startup.sh
然后在Linux浏览器中输入:localhost:8080 ;访问是否成功?若成功,则tomcat安装完成
在主机浏览器中输入:虚拟机的ip地址:8080 ;是否能访问成功?若不能访问,则下一步
4.Centos7下修改firewalld防火墙
1)在虚拟机终端输入命令:systemctl status firewalld (查看防火墙状态)
2)添加端口8080
添加端口,命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入,命令:firewall-cmd --reload
查看端口状态,命令:firewall-cmd --zone=public --query-port=8080/tcp
看终端返回信息,是否成功开启8080端口
----------------------------------------------------------------------------------------
其他命令:
a.删除:firewall-cmd --zone= public --remove-port=80/tcp --permanent
b.启动: systemctl start firewalld
c.停止: systemctl disable firewalld
d.禁用: systemctl stop firewalld
-----------------------------------------------------------------------------------------
3)再次在主机浏览器中测试,是否能访问到虚拟机中的tomcat服务
5.配置tomcat的自启动服务
1)创建脚本文件,命令:vim /etc/rc.d/init.d/tomcat
#!/bin/sh
#chkconfig: 2345 10 90
#description: Starts and Stops the Tomcat daemon.
##############################################
#Startup script for Tomcat on Linux
#filename tomcat.sh
#Make sure the Java and the tomcat installation path has been added to the PATH
JAVA_HOME=/usr/local/jdk.... #JDK安装目录
CATALINA_HOME=/usr/local/tomcat #tomcat安装目录
export JAVA_HOME
export CATALINA_HOME
###############################################
start_tomcat=$CATALINA_HOME/bin/startup.sh #tomcat启动文件
stop_tomcat=$CATALINA_HOME/bin/shutdown.sh #tomcat关闭文件
start() {
echo -n "Starting tomcat: "
${start_tomcat}
echo "tomcat start ok."
}
stop() {
echo -n "Shutting down tomcat: "
${stop_tomcat}
echo "tomcat stop ok."
}
# See how we were called
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 10
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
exit 0
2) 给文件添加权限,使得脚本文件可以执行,命令:chmod 755 /etc/rc.d/init.d/tomcat
3) 添加到服务之中:chkconfig --add /etc/rc.d/init.d/tomcat
4)在tomcat中的catalina.sh文件中的最后面添加如下配置:
export JAVA_HOME=/usr/local/jdk... #jdk的安装路径
export CATALINA_HOME=/usr/local/tomcat...#tomcat的安装路径
export CATALINA_BASE=/usr/local/tomcat...#tomcat的安装路径
export CATALINA_TMPDIR=/usr/local/kencery/tomcat.../temp
保存,并退出
5)测试:
命令:service tomcat start
命令:service tomcat stop
6)设置开机启动
a.打开Linux设置开机启动文件,将下面的配置文件写入rc.local文件的最后,命令:vim /etc/rc.d/rc.local
b.添加配置:
export JAVA_HOME=/usr/local/jdk... #jdk安装路径
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat...#tomcat安装路径
#tomcat自启动
/usr/local/tomcat.../bin/startup.sh
c.测试:重启Centos7,浏览器访问tomcat,看是否自启动成功。
第三步:配置Mysql
1.使用命令行配置mysql,在Centos7版本后,使用的时MySQL分支::MariaDB
2.在终端依次输入以下命令:
yum -y install mariadb-server mariadb mariadb-devel
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation (此处可能报错,不用理会,直接Ctrl+C退出,继续执行下面的命令)
firewall-cmd --permanent --add-service mysql
systemctl restart firewalld.service
iptables -L -n|grep 3306
3.解决报错问题
错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
命令1:/etc/init.d/mysqld stop (停止mysql服务的运行)
命令2:mysqld_safe --user=mysql --skip-grant-tables --skip-networking & (跳过受权表访问)
命令3:mysql -u root mysql (登录mysql)
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='127.0.0.1' or host='localhost';(把空的用户密码都修改成非空的密码就行了,例如:123,适用于mysql5.7以下的版本)
mysql>update mysql.user set authentication_string=password('newpassword') where user='root' and host='127.0.0.1' or host='localhost';
mysql>FLUSH PRIVILEGES;
mysql>quit
命令4:/etc/init.d/mysqld restart //离开并重启mysql
命令5:mysql -uroot -p
输入新设置的密码即可。
注意:设置mysql的编码格式,登陆mysql,命令:show variables like 'character_set_%';
修改编码格式:SET character_set_database = utf8 ;然后重启mysql即可。
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/... --defaults-file=/etc/my.cnf #填写mysql地址
LimitNOFILE = 5000
4)通过服务启动mysql:
命令:systemctl start mysql
命令:ps -ef | grep mysql
5)设置开机启动:命令:systemctl enable mysql
6)测试:重启Centos7
a.第一种方法,查询端口:命令:netstat -tulpn ;MySQL监控的是TCP的3306端口,若信息中有关于3306的信息,则MySQL启动成功
b.第二种方法,查询进程:命令:ps -ef | grep mysql(这里的mysqls时指前面mysql配置文件名称:mysql.service),如果有mysqld_safe和mysqld两个进程,说明MySQL服务当前在启动状态;