CentOS 7 搭建 JavaEE 环境

文章目录

    • JDK
    • Mysql
      • 远程访问数据库
    • Tomcat
    • 访问 JavaEE 项目
    • 项目部署常见问题

JDK

# 安装 jdk
yum -y install java-1.8.0-openjdk.x86_64
# 查看版本
java -version

Mysql

cd /tmp
# 下载,yum 上 mysql 的资源有问题,所以不能仅仅之用 yum。在使用 yum 之前还需要用其他命令获取 mysql 社区版
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 通过 yum 进行安装
yum install mysql mysql-server mysql-devel -y
# 启动
systemctl start mysql.service
# 验证,查看 3306 端口是否启动
netstat -anp|grep 3306
# 设置密码,通过 Yum 安装的 mysql 的管理员账户是没有密码的,这里通过命令设置其密码为 admin
mysqladmin -u root password admin
# 登陆验证
mysql -uroot -padmin

远程访问数据库

ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题.

先确保已设置 MySQL 的密码,在进行如下操作:

# 授予%所有远程ip地址登录root账户的权限,访问密码为 123456
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
# 刷新 MySQL 的系统权限相关表,否则会出现拒绝访问,忘记输入的话重启 mysql 服务也可以
flush privileges;

开放 3306 端口,firewalld 防火墙(centos-7)运行命令,并重启:

# 添加开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
# 重新载入配置
firewall-cmd --reload
# 查看已开放端口
firewall-cmd --list-ports

Tomcat

先去官网下载需要安装的版本,通过 ftp 上传到 Linux,然后解压到 /tmp 下,再复制到 /usr/local/tomcat8

cd /tmp
# 解压
tar -zxvf apache-tomcat-8.5.23.tar.gz
# 复制
mv apache-tomcat-8.5.23 /usr/local/tomcat8
# 启动 tomcat
/usr/local/tomcat8/bin/startup.sh
# 验证
netstat -anp|grep 8080
# 查看 tomcat 的启动日志
tail -300f /usr/local/tomcat8/logs/catalina.out

开放端口:

# 查看防火墙的状态
firewall-cmd --state
# 若关闭,需要打开防火墙
systemctl start firewalld.service
# 添加开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
# 重新载入配置
firewall-cmd --reload
# 查看已开放端口
firewall-cmd --list-ports

已可以在浏览器上访问。

访问 JavaEE 项目

上传项目到 /usr/local/tomcat8/webapps 目录下,启动 Tomcat,即可访问。

/usr/local/tomcat8/bin/shutdown.sh
/usr/local/tomcat8/bin/startup.sh

项目部署常见问题

Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext

解决方案:

Tomcat 版本 可能不对,服务器最好和本地调试时采用一样的版本。


<dependency>
	<groupId>org.apache.tomcat.embedgroupId>
	<artifactId>tomcat-embed-jasperartifactId>
	<version>8.5.23version>
	
dependency>

Nativecat 连接服务器的 mysql 数据库报错:2003-Can’t connect to mysql server on ‘xxx‘

或者,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题.

解决方案:需要设置远程访问数据库

你可能感兴趣的:(Java)