当前位置: 代码网 > it编程>编程语言>Java > Linux环境下Java项目基础环境搭建过程

Linux环境下Java项目基础环境搭建过程

2026年04月02日 Java 我要评论
一、下载解压jdk和tomcat(jdk为必备环境)linux软件安装方法:1、tar:解压安装安装包格式:tar、tar.gz、tar.bz安装软件包命令:tar -zxvf [包名]2、rpm:直

一、下载解压jdk和tomcat(jdk为必备环境)

linux软件安装方法:

1、tar:解压安装

  • 安装包格式:tar、tar.gz、tar.bz
  • 安装软件包命令:tar -zxvf [包名]

2、rpm:直接安装

  • 安装包格式:rpm
  • 安装软件包命令:rpm -ivh 软件包路径
  • 卸载软件包命令:rpm -e 软件包全名

3、yum:在线安装

  • 安装软件包命令:yum -y install subversion
  • 卸载软件包命令:yum -y remove subversion

一般建议解压安装;jdk、tomcat、mysql、maven的版本一般都建议与开发环境保持一致,并且要注意对应的tomcat版本所支持的jdk版本,官网上几乎都能看到版本对应信息;

jdk安装:先去官网找到对应的版本,我这边做测试用的项目是比较老的,所以用的jdk8

java downloads | oracle

可以在官网上找到自己的版本:

我的centos是x64,所以对应我要下载x64tar.gz,下载后自己保存到本地的一个目录;

tomcat安装:在官网上查看对应jdk匹配的tomcat版本

apache tomcat® - which version do i want?

我的项目是jdk8,这里只能用tomcat9;

mysql安装:老项目,所以只能用mysql5,自己可以找找;

具体安装(我这边用的是安装包的解压,纯绿色版本,安装,卸载都比较方便)

1、jdk:使用xftp工具将本地对应的tar包上传到自己的centos里,这里我选的目录是opt,自己可以根据情况来选择自己的目录;

上传后可以通过命令ls 查看对应的文件,下面来一个个解压:

使用命令解压jdk:tar -zxvf jdk-8u481-linux-x64.tar.gz执行后开始解压:

解压后,会对应有个安装文件;

接着要去修改环境变量(注意,不要多加空格,特别是=号两边):

exprot java_home=/opt/jdk1.8.0_481
exprot path=$java_home/bin:$path

注意:$path一定要加上,这个是linux系统里的环境变量,如果没有加上,可能会导致系统崩溃,很多命令都将用不了,所以一定要把原来的$path加上;

然后使用命令source /etc/profile 让刚刚修改的配置文件生效;

再使用java -version 查看刚刚安装的jdk版本;

至此jdk就安装、配置好了,然后再去安装tomcat,一定要记得先装jdk,再去安装tomcat,像有jdk依赖的工具都需要先安装好jdk,否则启动会报错,无法启动。

2、tomcat:同理先解压tar包。

解压后,进入到对应的bin目录下,可以看到对应启动命令,注意.bat为windows环境下的命令,.sh为linux环境下的命令;

在bin目录下使用 sh startup.sh启动tomcat;

启动后可以看到,tomcat用的jdk是刚刚配置的1.8的;

我们再去进程里看看:使用命令

ps -ef | grep tomcat

可以看到tomcat进程正在运行,我们用宿主机(我的是windows)来访问看看:

很明显无法访问。

这里是因为linux的防火墙机制,除了默认的22端口对外暴露,其他的要配置,可以使用命令查看下已开放的防火墙:

firewall-cmd --zone=public --list-ports

可以看到没有东西,所以我们的8080端口的tomcat无法被其他地方访问到,现在我们开放我们的8080端口:(--permanent可以加,也可以不加,加了就是8080端口永久访问生效,不加就是当前访问有效,重新启动后需要重新配置端口的开放)

firewall-cmd --zone=public --add-port=8080/tcp --permanent

以上命令将8080端口开放;

开放后一定要记得重新加载防火墙,使刚刚的设置生效;

加载命令:

firewall-cmd --reload

在访问下开放的端口列表:

firewall-cmd --zone=public --list-ports

可以看到8080被开放了;

再去访问下:windows上的页面和cmd都可以访问了。

注意如果同时启动两个tomcat就要修改其中一个tomcat的配置文件了,修改端口可以看tomcat的使用指南;然后想让宿主机访问,记得添加访问端口到防火墙(步骤如上);

这个时候界面上的managerapp是还不能用的,要界面能使用,管理我们的web项目,需要修改对应的,找到配置文件

tomcat-users.xml

编辑内容:将以下内容添加到tomcat-users.xml中,记得esc后:wq!保存后退出,要记得自己的password和username,

  • manager-gui角色专门用于通过浏览器访问图形界面(/manager/html)。

<!-- 以下三行为开启界面用户使用managerapp  -->
     <role rolename="admin-gui"/>
     <role rolename="manager-gui"/>
     <user username="admin" password="admin123" roles="manager-gui"/>

这一步只是创建了可以访问该界面的用户,而manager app的配置文件默认是只允许服务器本机访问的,所以还要配置context.xml,目录在webapps/manager/meta-inf/下

将原来的:

<valve classname="org.apache.catalina.valves.remotecidrvalve"
     allow="127.0.0.0/8,::1/128" />

注释:

<!-- <valve classname="org.apache.catalina.valves.remotecidrvalve"
     allow="127.0.0.0/8,::1/128" /> -->

然后再去bin目录下重新启动tomcat,再去页面访问,进入:

可以界面管理项目了。

tomcat的安装,启动相关就处理完了。

注:给tomcat配置不同的jdk,可以在单独的tomcat配置文件中修改;

#在bin/catalina.sh文件开头加上(jre可以不配,jdk17没有jre可用jlink命令做软链接)
#tomcat10以前也可以配置在setclasspath.sh文件中,从tomcat10.1开始必须jdk11+
export java_home=/opt/jdk17

3、mysql安装:同样先解压,解压后可以删除安装包;

1)解压后重命名(前面是原来的名字,后面是新的命名),方便后续使用:

命令:mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql5.6

因为一般数据库由db管理,一般会建一个专门的用户管理数据库;

添加用户组:

  • 命令:groupadd mysqlzu
  • 添加用户gaolu到用户组mysqlzu :
  • 命令:useradd gaolu-g mysqlzu

创建数据文件夹(本地mysql相关数据信息都会在这个文件夹里,以后卸载对应版本,只要保存好这个文件,数据就可以继续使用,一般业务数据存放的地方):

命令:

cd /opt/mysql5.6/data mkdir my_mysql

将指定文件的拥有者改为指定的用户和组 :

命令

chown -r gaolu:mysqlzu /opt/mysql5.6

2) 初始化数据库:user后面接你自己刚刚创建的linux用户

命令

/opt/mysql5.6/scripts/mysql_install_db --user=gaolu --basedir=/opt/mysql5.6/ --datadir=/opt/mysql5.6/data/mysql

含义:

/opt/mysql5.6/scripts/mysql_install_db初始化脚本的路径。这是 mysql 5.6 提供的专门用于初始化数据库的 perl 脚本。在 mysql 5.7.6 及更高版本中,这个脚本已被mysqld --initialize命令取代。
--user=gaolu指定运行进程的操作系统用户。这告诉初始化脚本以mysql这个系统用户的身份来创建和运行数据库进程,是提升安全性的最佳实践。
--basedir=/opt/mysql5.6/指定 mysql 的安装根目录。脚本会在这个目录下寻找 mysql 的二进制文件(如bin目录)和共享文件(如share目录)。
--datadir=/opt/mysql5.6/data/my_mysql指定数据库数据的实际存储目录。所有用户数据、系统表、日志文件等都将存放在这个路径下。

执行报错:

我忘记装perl 解释器了,mysql_install_db是一个perl 脚本。

使用命令

命令yum install -y perl 在线安装;

安装后可以查到对应版本,再执行上述命令就可以正常初始化数据库了。

看到ok就初始化成功了!

3)初始化数据库成功后,要记得复制配置文件将mysql目录下的my-default.cnf复制到/etc/my.cnf:my-default.cnf为mysql的配置文件,mysql不会自动读取my-default.cnf

# mysql 启动时的配置文件查找路径(优先级从高到低)
/etc/my.cnf                    # 系统级配置(第1优先)
/etc/mysql/my.cnf              # 系统级配置(第2优先)
/usr/local/mysql/etc/my.cnf    # 安装目录配置
~/.my.cnf                      # 用户级配置

命令

cp support-files/my-default.cnf /etc/my.cnf

不配置的话:

# 删除/不创建 /etc/my.cnf
rm -f /etc/my.cnf
# 启动 mysql
/opt/mysql5.6/bin/mysqld_safe --user=gaolu &
# mysql 会使用编译时的默认值启动
# 可能的问题:
# - 数据目录可能在默认位置 /var/lib/mysql(而不是 /opt/mysql5.6/data)
# - 端口可能是 3306(但可能被占用)
# - 字符集可能是 latin1(而不是 utf-8)
# - 没有错误日志文件

4)复制完了要记得修改 /etc/my.cnf配置,包括字符集之类:

命令

vi /etc/my.cnf

在mysqld下添加:

port=3306
        default-storage-engine=innodb
        character-set-server=utf8
        lower_case_table_names=1
        #修改过期时间
        wait_timeout=31536000  
        interactive_timeout=31536000

保存后退出(esc :wq!,按顺序按键);

5)接着修改:support-files/mysql.server

命令

vi /opt/mysql5.6/support-files/mysql.server

添加:改成自己的目录

basedir=/opt/mysql5.6
datadir=/opt/mysql5.6/data/my_mysql

保存退出编辑。

6)最后要加上环境变量(:$path千万不要掉了):

命令:vi /etc/profile

export path=/opt/mysql/bin:$path

启动配置-命令: source /etc/profile

保存后退出;

7)启动服务(这里要注意下当前用户有没有权限,因为刚开始我们给这个文件的使用者指定了用户组的):

命令

/opt/mysql5.6/support-files/mysql.server start

测试连接-命令:mysql -u root -p

初始是没有密码的,直接回车就可以进入数据库了。

可以正常使用了,接下来就和windows操作一样了,这个mysql版本比较低,和centos10直接有些兼容性问题,一般都是包不兼容,对应去下载包,指定使用规则就好了。

8)linux中数据库开放,让宿主机连接:

现在windows上连接不到我linux上的mysql的。

我们要改几个地方,先进入mysql,使用mysql库,然后修改user表数据

相关命令

select host,user from user where user='root';
update user set host='%' where host='127.0.0.1';

最后还要记得

mysql> flush privileges;

可以正常连接了,可以使用;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com