如果你对在Linux环境下,对安装JDK、Tomcat、MySQL、Redis等有疑问,安装过程中经常出现问题,不妨看看本文,希望对你有用。
ifconfig
如果显示ifconfig命令找不到,则需要安装net-tools插件:
yum install net-tools
此外,还可以通过 ip addr
命令来查看虚拟机的IP地址
安装版本为jdk1.8.0_171,FinalShell上传jdk的安装包到Linux的根目录,将jdk的安装包解压到 /usr/local
目录下
jdk-8u171-linux-x64.tar.gz
打开/etc/profile
,配置环境变量,JAVA_HOME 和PATH
vim /etc/profile
# 如果显示 -bash: vim: 未找到命令,则需要安装vim
yum install vim
在/etc/profile
配置文件的末尾加上如下配置:
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
保存修改的配置后退出 /etc/profile
,source命令重新加载/etc/profile
,使其生效。
source /etc/profile
其后,通过 java -verison
就可查看jdk的相关信息,来检查是否安装成功。
安装版本为 tomcat-7.0.57,上传Tomcat的安装包到Linux的根目录,将Tomcat的安装包解压到 /usr/local
目录下
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
切换到Tomcat的bin 目录下通过 sh startup.sh
启动Tomcat,
sh startup.sh
# 或者
./startup.sh
验证Tomcat是否启动成功,可以查看日志
(tail -10 catalina.out
或more catalina.out
命令)
ps -ef | grep tomcat
当然,还可以在Window端通过IP+端口的方式来访问,
这种方式需要Linux关闭防火墙,可通过如下命令:
# 暂时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
# 此外,查看防火墙状态的命令1:
systemctl status firewalld
# 或者命令2:
firewall-cmd --state
# 开放指定端口(需要在防火墙开启状态下去开放或关闭指定端口),如:3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
停止Tomcat服务:
bin目录下运行停止服务的脚本shutdown.sh
:
sh shutdown.sh
或
./shutdown.sh
安装版本为 mysql-5.7.25,上传MySQL的安装包,将其解压到/usr/local/mysql
目录下,
mkdir /usr/local/mysql
cd /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz
# 查询当前系统中安装的所有软件
rpm -qa
# 查询当前系统中带有名为mysql的软件
rpm -qa | grep mysql
# 查询当前系统中带有名为mariadb的软件,找到并删除
rpm -qa | grep mariadb
# Centos7自带mariadb,会与mysql冲突,应删除
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
注:卸载已经安装的冲突应用:
rpm -e --nodeps 软件应用名
按照如下顺序安装rpm软件包:
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
注意:安装软件包时,一定要按照如上的顺序进行,不然可能会出现错误,因为各个rpm软件包之间存在着一定的依赖关系。
安装完成后,可以通过yum update
升级现有的软件和系统内核
启动和验证mysql是否安装成功
# 启动mysql服务
systemctl start mysqld
# 查看mysql服务状态
systemctl status mysqld
# 开机就启动mysql服务,避免每次手动启动服务
systemctl enable mysqld
# 查看已经启动的服务
netstat -tunlp
# 查看已经启动的、名为mysql的服务
netstat -tunlp | grep mysql
# 查看名为mysql的进程
ps -ef | grep mysql
初次登录MySQL,需要在/var/log/mysqld.log
日志文件中查阅临时密码:
cat /var/log/mysqld.log | grep password
登录mysql,修改密码,并开放访问权限:
# 登录mysql(使用临时密码)
mysql -uroot -p
# 设置最短密码长度
set global validate_passwo`rd_length=4;
# 设置密码的安全等级,便于密码可以使用`123456`这类简单密码
set global validate_password_policy=LOW;
# 设置密码为`123456`
set password = password('123456');
# 开放访问权限,允许外部用密码`123456`访问本地的mysql
grant all on *.* to 'root'@'%' identified by '123456';
# 刷新权限,让配置立即生效
flush privileges;
注意:不要忘了命令后面的分号,表示命令结束,要立即执行。
如此,就可以使用配置的正式密码(123456
)来登录mysql了。
mysql -uroot -p123456
# 查看mysql中的数据库
show databases;
此外,还可以Windows中访问Linux系统的mysql。
补充:安装lrzsz
lrzsz是一款在linux里可代替ftp上传和下载的程序,当然,你也可以使用FinalShell,FinalShell自带文件上传和下载的功能。
# 在服务器上搜索lrzsz安装包
yum list lrzsz
# 安装lrzsz
yum install lrzsz.x86_64
项目部署可以通过手动部署和Shell脚本的方式来部署,这里就只介绍下手动部署。
在IDEA工具中,将项目打包成jar包,这是一个简单的Springboot项目,创建项目后,只编写了DeployController和application.yml。
application.yml:
server:
port: 9898
logging:
level:
com.example.demo: debug
@RestController
@RequestMapping("/deploy")
@Slf4j
public class DeployController {
@GetMapping("/test")
public String test(){
System.out.println("正在测试项目部署:");
return "测试项目部署中。。。";
}
@GetMapping("/hello")
public String hello(){
log.info("项目已经成功部署!");
return "deploy_project_test 已部署成功!";
}
}
1)点击Lifecycle中的package选项
2)或者在Terminal终端通过命令的方式打包,切换到想要打包的项目路径下,输入命令: mvn clean package
打包完成后,会在target目录下生成一个名为 demo的jar包
上传刚刚打包的jar包到虚拟机的/usr/local/deploy
目录下(可以是任意目录),且切换到deploy目录,通过 java -jar命令来启动项目。
java -jar demo-0.0.1-SNAPSHOT.jar
如果要能通过外部访问,需要查看本机是否关闭了防火强,或开启了防火墙,则要检查是否开放了要部署的项目端口。关于防火墙和开放端口的命令在前面安装Tomcat时有讲过。
firewall-cmd --zone=public --list-port
部署项目的端口是9898,可以在本地浏览器上发送请求:
http://192.168.40.144:9898/deploy/hello
http://192.168.40.144:9898/deploy/test
可以在Linux端的控制台看到有关日志:
但这样的部署方式存在一定的问题,该方式通过控制台霸屏来运行,如果退出终端,就无法访问该部署项目,需要改为后台运行程序,并将日志输出到日志文件中,方便运维查阅日志。
# 以nohup不挂断的方式来启动项目(即使关闭控制台,也能正常访问)
# 运行日志将记录在demo01.log中
nohup java -jar demo-0.0.1-SNAPSHOT.jar &> demo01.log &
# 查询正在运行的进程
ps -ef | grep 'java -jar'
# 杀死进程(-9 表示强制杀死,pid是进程号)
kill -9 pid
# 列出服务器上git的安装包
yum list git
# 在线安装git
yum install git.x86_64
将maven的安装包解压在/usr/local/
目录下,
cd /usr/local
tar -zxvf apache-maven-3.5.4-bin.tar.gz
编辑/etc/profile
,将maven的环境变量添加到文件末尾
vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
如此,就可通过mvn -version
来查看当前maven的有关信息
配置maven的本地仓库
(修改apache-maven-3.5.4/conf/settings.xml):
# 创建本地仓库的文件夹
mkdir maven_repo/
# 编辑settings.xml
cd apache-maven-3.5.4/conf/settings.xml
vim settings.xml
将如下本地仓库的配置添加到settings.xml
/usr/local/maven_repo</localRepository>
安装版本为redis-6.2.1,将Redis安装包上传到根目录下,并解压到/usr/local
目录,
tar -zxvf redis-6.2.1.tar.gz -C /usr/local
安装Redis的依赖环境gcc:
yum install gcc-c++
进入/usr/local/redis-6.2.1
(我将redis解压在/usr/local
)进行编译,命令为:
make
进入redis-6.2.1的src目录,进行安装,命令为:
make install
上述操作执行完成后,在redis目录下的redis.conf就是redis的配置文件,redis-6.2.1/src目录下的redis-server和redis-cli就是启动Redis服务端和客户端的脚本
在src目录下,启动redis服务端和客户端的命令如下:
./redis-server
./redis-cli
# 1.启动NameServer
nohup sh bin/mqnamesrv &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
# 1.启动Broker, 9876是Broker的默认启动端口
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log
# 编辑runbroker.sh和runserver.sh修改默认JVM大小
vi runbroker.sh
vi runserver.sh
参考配置:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker
nohup sh mqnamesrv &
nohup sh mqbroker -n localhost:9876 &
# 查看启动的Java进程
jps
如下,使用jps可见Broker和NameServer已经启动成功:
yum -y install gcc
yum -y install gcc-c++
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl status docker
docker run hello-world
docker images
docker images命令Options说明:
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。
docker images -a
docker images -q