Linux环境下Java项目基础环境搭建
一、下载解压JDK和TomcatJDK为必备环境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安装先去官网找到对应的版本我这边做测试用的项目是比较老的所以用的JDK8Java Downloads | Oracle可以在官网上找到自己的版本我的CentOS是X64所以对应我要下载X64tar.gz下载后自己保存到本地的一个目录Tomcat安装在官网上查看对应JDK匹配的Tomcat版本Apache Tomcat® - Which Version Do I Want?我的项目是JDK8这里只能用Tomcat9MYSQL安装老项目所以只能用MYSQL5自己可以找找具体安装我这边用的是安装包的解压纯绿色版本安装卸载都比较方便1、JDK使用xftp工具将本地对应的tar包上传到自己的CentOS里这里我选的目录是opt自己可以根据情况来选择自己的目录上传后可以通过命令 ls 查看对应的文件下面来一个个解压使用命令解压JDKtar -zxvf jdk-8u481-linux-x64.tar.gz 执行后开始解压解压后会对应有个安装文件接着要去修改环境变量注意不要多加空格特别是号两边exprot JAVA_HOME/opt/jdk1.8.0_481exprot 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 --zonepublic --list-ports可以看到没有东西所以我们的8080端口的Tomcat无法被其他地方访问到现在我们开放我们的8080端口--permanent可以加也可以不加加了就是8080端口永久访问生效不加就是当前访问有效重新启动后需要重新配置端口的开放firewall-cmd --zonepublic --add-port8080/tcp --permanent以上命令将8080端口开放开放后一定要记得重新加载防火墙使刚刚的设置生效加载命令firewall-cmd --reload在访问下开放的端口列表firewall-cmd --zonepublic --list-ports可以看到8080被开放了再去访问下Windows上的页面和CMD都可以访问了。注意如果同时启动两个Tomcat就要修改其中一个Tomcat的配置文件了修改端口可以看Tomcat的使用指南然后想让宿主机访问记得添加访问端口到防火墙步骤如上这个时候界面上的managerAPP是还不能用的要界面能使用管理我们的web项目需要修改对应的找到配置文件tomcat-users.xml编辑内容将以下内容添加到tomcat-users.xml中记得ESC后:wq!保存后退出要记得自己的password和usernamemanager-gui角色专门用于通过浏览器访问图形界面/manager/html。!-- 以下三行为开启界面用户使用managerAPP --role rolenameadmin-gui/role rolenamemanager-gui/user usernameadmin passwordadmin123 rolesmanager-gui/这一步只是创建了可以访问该界面的用户而Manager App的配置文件默认是只允许服务器本机访问的所以还要配置context.xml目录在webapps/manager/META-INF/下将原来的Valve classNameorg.apache.catalina.valves.RemoteCIDRValveallow127.0.0.0/8,::1/128 /注释!-- Valve classNameorg.apache.catalina.valves.RemoteCIDRValveallow127.0.0.0/8,::1/128 / --然后再去bin目录下重新启动tomcat再去页面访问进入可以界面管理项目了。Tomcat的安装启动相关就处理完了。注给tomcat配置不同的JDK可以在单独的tomcat配置文件中修改#在bin/catalina.sh文件开头加上JRE可以不配JDK17没有JRE可用jlink命令做软链接#Tomcat10以前也可以配置在setclasspath.sh文件中从Tomcat10.1开始必须JDK11export JAVA_HOME/opt/jdk173、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.62 初始化数据库user后面接你自己刚刚创建的Linux用户命令 /opt/mysql5.6/scripts/mysql_install_db --usergaolu --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命令取代。--usergaolu指定运行进程的操作系统用户。这告诉初始化脚本以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.cnfmy-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.cnfrm -f /etc/my.cnf# 启动 MySQL/opt/mysql5.6/bin/mysqld_safe --usergaolu # MySQL 会使用编译时的默认值启动# 可能的问题# - 数据目录可能在默认位置 /var/lib/mysql而不是 /opt/mysql5.6/data# - 端口可能是 3306但可能被占用# - 字符集可能是 latin1而不是 UTF-8# - 没有错误日志文件4复制完了要记得修改 /etc/my.cnf配置包括字符集之类命令vi /etc/my.cnf在mysqld下添加port3306default-storage-engineINNODBcharacter-set-serverutf8lower_case_table_names1#修改过期时间wait_timeout31536000interactive_timeout31536000保存后退出esc wq!按顺序按键5接着修改support-files/mysql.server命令vi /opt/mysql5.6/support-files/mysql.server添加改成自己的目录basedir/opt/mysql5.6datadir/opt/mysql5.6/data/my_mysql保存退出编辑。6最后要加上环境变量:$PATH千万不要掉了命令vi /etc/profileexport PATH/opt/mysql/bin:$PATH启动配置-命令 source /etc/profile保存后退出7启动服务这里要注意下当前用户有没有权限因为刚开始我们给这个文件的使用者指定了用户组的命令/opt/mysql5.6/support-files/mysql.server start测试连接-命令mysql -u root -p初始是没有密码的直接回车就可以进入数据库了。可以正常使用了接下来就和Windows操作一样了这个MySQL版本比较低和CentOS10直接有些兼容性问题一般都是包不兼容对应去下载包指定使用规则就好了。8Linux中数据库开放让宿主机连接现在Windows上连接不到我Linux上的MySQL的。我们要改几个地方先进入MySQL使用MySQL库然后修改user表数据相关命令select host,user from user where userroot;update user set host% where host127.0.0.1;最后还要记得mysql flush privileges;可以正常连接了可以使用