CentOS 7
JDK 1.8
安装 CentOS7 虚拟机
需要预先安装好一个 CentOS 虚拟机系统,网上有很多教程,随便搜一个“安装 CentOS7 虚拟机”
这里我还有一个多节点环境的基础配置的文章,可以用来模拟前后端分离项目的配置的环境:虚拟机配置Linux多节点的学习环境
安装好后强烈建议你使用外部的 ssh 软件连接到虚拟机中,比如 Termius, SecureCRT, XShell,这样使用界面以及操作起来都比较舒服。
安装 jdk1.8
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
如果不能安装则下载安装
wget https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.rpm rpm -ivh jdk-8u151-linux-x64.rpm
安装后,查看是否安装成功
java -version
进入 jvm 目录,查看安装的 jdk
cd /usr/lib/jvm
ls
安装 Tomcat
在这个网址 https://repo.huaweicloud.com/apache/tomcat/ 华为开源镜像站里的 tomcat 文件夹内,有几个不同版本的 Tomcat
在这里我使用 wget 直接下载了一个 7.0.109 的版本的
mkdir /usr/local/tomcat
cd /usr/local/tomcat
wget https://repo.huaweicloud.com/apache/tomcat/tomcat-7/v7.0.109/bin/apache-tomcat-7.0.109.tar.gz
tar -zxvf apache-tomcat-7.0.109.tar.gz
启动 tomcat
cd /usr/local/tomcat/apache-tomcat-7.0.109/bin
./startup.sh # 启动tomcat
注: ./catalina.sh start 和 ./startup.sh 都能启动tomcat。使用 ./catalina.sh stop 或 ./shutdown.sh 停止tomcat。
如果无法访问,则有可能是服务器防火墙问题,8080端口被拦截了,需要开启
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
如果以上方法报错, 可能是因为你的centos版本过低,请使用以下方法禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
安装 MySQL
# 下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
# 检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
出现以下内容表示添加成功
进行安装
yum install -y mysql-community-server
如果安装时出现
源 “MySQL 5.7 Community Server” 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-libs-compat-5.7.38-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
则在安装命令后面添加 --nogpgcheck
yum install -y mysql-community-server --nogpgcheck
启动服务
systemctl start mysqld
安装查看是否有启动服务的端口号
yum -y install lsof
lsof -i :3306
查看MySQL的启动状态
systemctl status mysqld
开机启动
systemctl enable mysqld
systemctl daemon-reload
修改root本地登录密码,跳过mysql登陆密码
vi /etc/my.cnf
在文件内容 [mysqld] 那个的下面,添加一行 skip-grant-tables
重启 mysql 服务
systemctl restart mysqld
直接输入 mysql 即可进入,进入后修改密码:
flush privileges;
set password for 'root'@'localhost'=password('123456');
flush privileges;
退出 mysql,进入 vi /etc/my.cnf
将之前添加的 skip-grant-tables
删掉,然后重启 mysql 服务
即可通过 mysql -uroot -p123456
登陆进入 mysql
打包 Maven 项目
我这里有个写好的测试项目,已打包好,里面包含 sql 文件和 jar 包
- 下载:demo3.zip
用maven打包
打包后 jar 文件在项目中的 target 文件夹中
然后上传到 tomcat 中的 webapps 文件夹中,我使用 xftp 工具进行连接
如果打包的是 War 包,则进入到 /usr/local/tomcat/apache-tomcat-7.0.109/webapps 文件夹中,然后将打包好的文件拖拽进去,我这个是 jar 包可以任意
使用 ifconfig
命令查看端口号,我的是 192.168.43.110
我这个项目的端口是 8090,所以还需要开启对应端口
iptables -I INPUT -p tcp --dport 8090 -j ACCEPT
终端中进入 /usr/local/tomcat/apache-tomcat-7.0.109/webapps 文件夹内,并运行 jar 包
java -jar demo3-0.0.1-SNAPSHOT.jar
我这里只写了一个接口 /api/UserInfo/{id}
,我们使用浏览器进行访问,可以看到返回了数据,表示连接成功了
想后台执行 jar 包,执行命令,下面命令后台执行 jar 包,并将执行的日志出入到 temp.txt 文件中
nohup java -jar demo3-0.0.1-SNAPSHOT.jar >temp.txt 2>&1 &
nohup 命令介绍:Linux nohup 命令
查看后台运行的 jar 线程
ps -ef | grep 'java -jar'
使用 curl
命令测试一下
curl localhost:8090/api/UserInfo/1
执行后输出一个 pid 线程ID,使用 kill -9 PID
命令进行杀死停止这个程序
如果想要在 Windows 中使用域名进行访问虚拟机,可以修改 windows 的 host 文件,进入 C:\Windows\System32\drivers\etc 文件夹内,以管理员权限打开 host 文件
如上图所示,我添加了一个 test 作为 192.168.43.110 的网站域名,我使用这个名称进行测试