linux中搭建JavaWeb环境

2021-10-28 17:38:02 星期四

linux中搭建JavaWeb环境

默认环境为centOS7
JDK:jdk-8u301-linux-x64
除必要软件,尽量用docker部署

本教程操作环境在华为云服务器上。尽可能写一个适用过多环境的教程!

基础环境更新

镜像站

华为云鲲鹏镜像站地址:
https://mirrors.huaweicloud.com/home

华为镜像站yum源:
https://repo.huaweicloud.com/centos/

配置镜像站yum源

使用阿里yum源
官方参考教程

# root登录系统
yum update -y # 配置yum源之前更新命令
yum upgrade -y # 配置yum源之前升级命令

#备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
#配置阿里镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
##或
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#使用华为镜像源#同上
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
##鲲鹏服务器需要使用鲲鹏镜像源
##鲲鹏官方教程设置不能正常使用,推荐使用[优秀教程](https://blog.csdn.net/hmjwfsoft01/article/details/106021588 "教程")

#生成缓存
##清除之前的缓存
yum clean all
##生成缓存
yum makecache
yum list
#其他
#非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。用户也可自行修改相关配置: eg:
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
#验证
# 配置好yum源后,可以直接执行yum安装
yum install junit

基础操作

# 配置镜像站yum源之后,应使用下面命令升级系统:
yum upgrade -y --skip-broken

# 安装基本软件
yum install -y zip gzip bzip2 lbzip2
# 安装解压缩命令

yum install -y lrzsz
# 安装rz、sz上传下载命令

# 设置vim
vim /etc/vimrc
# 增加:
set ts=4
set expandtab
set nu
# 设置tab键为4个空格,显示行号

#编码方式
# 查看当前语种
echo $LANG
en_US.UTF-8 # 系统默认en_US.UTF-8

添加管理员账户

# 添加管理员账户,并设置密码,设置sudo权限
adduser ceht
passwd ceht

chmod -v u+w /etc/sudoers
vim /etc/sudoers
# 在 root 下面增加内容
root    ALL=(ALL)   ALL
ceht    ALL=(ALL)   ALL

chmod -v u-w /etc/sudoers
# 保护sudoers文件

基础环境安装

安装JDK

华为云服务器将替换OpenJDK为原版JDK

#查询是否有安装jdk
rpm -qa | grep java

# 如果有删除全部,noarch文件可以不用删除

#案例,eg:rpm -e --nodeps java-1.8.0-openjdk-xxx;看查看命令的结果
# 例如,逐个删除
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el7_8.aarch64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.aarch64
rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.252.b09-2.el7_8.aarch64

# 再次检查
java -version
# 确认删除完毕
#输出应为:bash: java: command not found

#安装jdk
# 安装jdk1.8,首先创建一个java的文件夹
mkdir /usr/local/java
#将安装包上传/usr/local/java/目录下
# 百度链接:https://pan.baidu.com/s/1YRxv1HmSdwV-DaCbSMLy8Q 提取码: qnc4
# 解压
cd /usr/local/java/
#解压
tar -zxvf jdk-8u301-linux-x64.tar.gz -C /usr/local/java/

配置环境变量

vi /etc/profile

/etc/profile文件的末尾加上以下配置:

JAVA_HOME=/usr/local/java/jdk1.8.0_301
JRE_HOME=/usr/local/java/jdk1.8.0_301/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

使修改后的/etc/profile文件立即生效:

source /etc/profile
#验证
java -version
#若输出java版权信息,则配置成功

安装与配置docker

从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。

Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

本文介绍 Docker CE 的安装使用。

  1. 移除旧的版本:
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  1. 安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新 yum 缓存:
# centos 7
sudo yum makecache fast
# CentOS 8没有fast这个命令
sudo yum makecache
  1. 安装 Docker-ce:
sudo yum -y install docker-ce
  1. 查看已安装docker版本
docker version
  1. 启动 Docker 后台服务
sudo systemctl start docker
  1. 开机启动
sudo systemctl enable docker
镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决。

可以使用阿里云的docker镜像地址:https://7qyk8phi.mirror.aliyuncs.com

新版的 Docker 使用 /etc/docker/daemon.json(Linux,没有请新建)。

请在该配置文件中加入:

(没有该文件的话,请先建一个)

{
  "registry-mirrors": ["https://7qyk8phi.mirror.aliyuncs.com"]
}

注意:使用vi如果不按i,直接粘贴进去在不是首字母的位置也会丢失字符

操作是先按i,进入编辑模式,再粘贴

重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
检查加速器是否生效

配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors: https://7qyk8phi.mirror.aliyuncs.com/
下载docker-compose
#运行此命令以下载 Docker Compose 的当前稳定版本sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose#对二进制文件应用可执行权限sudo chmod +x /usr/local/bin/docker-compose#测试安装docker-compose --version#若有docker-compose version 1.29.2, build 5becea4c,则安装成功
下载docker-compose
#运行此命令以下载 Docker Compose 的当前稳定版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#对二进制文件应用可执行权限
sudo chmod +x /usr/local/bin/docker-compose
#测试安装
docker-compose --version
#若有docker-compose version 1.29.2, build 5becea4c,则安装成功

安装与配置Nginx

YUM源中没有Nginx,我们需要增加一个nginx的源nginx.repo

  1. 执行以下命令,在 /etc/yum.repos.d/ 下创建 nginx.repo 文件。
vi /etc/yum.repos.d/nginx.repo
  1. 按 i 切换至编辑模式,写入以下内容。
[nginx]
name = nginx repo
baseurl = https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck = 0
enabled = 1
  1. 按 Esc,输入 :wq,保存文件并返回。
    查看Nginx是否配置成功
yum list nginx
# 查看nginx列表
yum list |grep nginx
  1. 执行以下命令,安装 nginx。
yum install -y nginx

安装的就是Nginx官网的最新版本

测试是否安装成功

#启动Nginx
nginx

可以使用curl命令查看是否安装成功

curl 127.0.0.1

如果安装成功的话,就会看到输出一个HTML的一个反馈

开机启动设置

systemctl enable nginx
# 重载可以先不急,等其他环境弄好了再执行
systemctl daemon-reload

安装配置maven

yum安装与配置

yum install -y maven
# 验证安装|查看安装版本
mvn -v

# 编辑配置文件
vim /etc/profile
# 在文末增加如下内容
M2_HOME=/usr/local/maven
MAVEN_HOME=/usr/local/maven
PATH=$MAVEN_HOME/bin:$PATH
export M2_HOME MAVEN_HOME PATH
# 使环境变量配置生效
source /etc/profile

echo $MAVEN_HOME
mvn -v

# 设置settings.xml
vim /usr/local/maven/conf/settings.xml

上传压缩包解压安装

这⾥下载的是 apache-maven-3.6.3-bin.tar.gz 安装包,并将其放置于提前创建好的 /coe/soft/maven
⽬录下。
执⾏命令解压之:
即可在当前⽬录得到 /code/soft//maven/apache-maven-3.6.3 ⽬录

配置MAVEN加速镜像源

以上传压缩包解压为例。

这⾥配置的是阿⾥云的maven镜像源。

编辑修改 /code/soft/maven/apache-maven-3.6.3/conf/settings.xml ⽂件,在 标签对⾥添加如下内容即可:

<mirror>
 	<id>alimaven</id>
 	<name>aliyun maven</name>
 	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 	<mirrorOf>central</mirrorOf>
</mirror>

在这里插入图片描述

配置环境变量

因为下载的是⼆进制版安装包,所以解压完,配置好环境变量即可使⽤了。 编辑修改 /etc/profile ⽂件,在⽂件尾部添加如下内容,配置 maven 的安装路径

export MAVEN_HOME=/code/soft/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH

接下来执⾏ source /etc/profile 来刷新环境变量,让 maven 环境的路径配置⽣效,

检验安装结果

执⾏ mvn –v ,能打印出 maven 版本信息说明安装、配置成功

安装配置tomcat(docker方式)

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。
是把宿主机目录挂载到容器中!!

都是符合源–>目的

#拉取镜像
docker pull tomcat
#一步到位
docker run --name tomcat -d -p 8080:8080 -v /code/docker/tomcat/webapps:/usr/local/tomcat/webapps /code/docker/tomcat/logs:/usr/local/tomcat/logs /code/docker/tomcat/conf:/usr/local/tomcat/conf  tomcat
#分步操作
#需要查看容器使用的是webapps还是webapps.dist
docker run --name tomcat -p 8080:8080 -d 镜像名

#进入容器对应的目录
docker exec -it 容器id  bash
//案例
docker exec -it 8d2dfd09a912 bash
#合并webapps.dist、webapps两个为webapps
rm -rf webapps
mv webapps.dist webapps

//**复制**,启动tomcat容器中的三个常用目录 conf、webapps、logs 用于挂载宿主机
docker cp tomcat:/usr/local/tomcat/webapps.dist /code/docker/tomcat
docker cp tomcat:/usr/local/tomcat/conf /code/docker/tomcat
docker cp tomcat:/usr/local/tomcat/logs /code/docker/tomcat
//容器id方式,eg:
docker cp ef98df012ffa:/usr/local/tomcat/webapps /code/docker/tomcat
docker cp ef98df012ffa:/usr/local/tomcat/conf /code/docker/tomcat
docker cp ef98df012ffa:/usr/local/tomcat/logs /code/docker/tomcat

//停止并移除tomcat--容器,移除镜像用rmi
docker stop tomcat
docker rm tomcat
//挂载
docker run --name tomcat -p 8080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -v $PWD/logs:/usr/local/tomcat/logs -v $PWD/conf:/usr/local/tomcat/conf -d 855ce409ba9e
#如果使用自定义目录挂载,使用下面这条命令;镜像名或镜像id都可以
docker run --name tomcat -p 8080:8080 -v /code/docker/tomcat/webapps:/usr/local/tomcat/webapps -v /code/docker/tomcat/logs:/usr/local/tomcat/logs -v /code/docker/tomcat/conf:/usr/local/tomcat/conf -d tomcat

修改已创建容器配置

//设置开机自启动--已创建容器
docker update --restart=always tomcat

永久解决webapps.dist文件夹及首页404问题

docker创建tomcat容器,在tomcat 下面有 webapps 和 webapps.dist 两个文件夹。只需要webapps就可以了,还会导致首页404问题。

前面已经解决了问题,但是下次再去运行一个新的 Tomcat 的时候还是会出现同样的问题。如何永久解决呢?

可以在上面修改后的基础上使用 docker commit 提交容器副本使之成为一个新的镜像。

docker commit :从容器创建一个新的镜像。
# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
#示例
docker commit -m="修复404" -a="libai4hao" 5570adbe1c04 my_tomcat:1.0
#再次查看镜像,发现镜像my_tomcat:1.0已经提交到本地了
docker images
#将my_tomcat:1.0镜像推送到docker hub仓库中去
# docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启

#首先是登录docker hub (id=xx,密码=xx)
docker login
#推
docker push libai4hao/my_tomcat:1.0
#提示,找不到,需要镜像改名。在名称前加上自己的docker hub的Docker ID,即libai4hao
#案例
docker tag b625b7b88397 libai4hao/my_tomcat:1.0
#验证
docker images
#再次进行推送(注意:下面的1.0的tag标签可以不打,默认是latest)。推送操作时间稍微会有一点长,耐心等待~
docker push libai4hao/my_tomcat:1.0

提交成功后,下次直接运行这个镜像就不会报 404 了。

登录自己的Docker Hub ,在Repositories里面就可以看到自己在上面推送的镜像libai4hao/my_tomcat:1.0了,这是个对外的镜像,可以在网络上下载。
在Docker hub上可以看到这个镜像的下载命令(注意下载时跟上tag标签,如果是latest的默认tag可以不跟)
也可以直接在Docker hub上删除这个镜像(Repositories-镜像-Settings-delete)

在另一台服务器上下载这个镜像,只需要输入

docker pull libai4hao/my_tomcat:1.0

在本机删除该镜像

docker images
#可以看到有两个相同镜像id的镜像,此时直接使用这个镜像ID是删除不掉的
#应该先删除docker tag改名前的镜像,使用镜像名称删除。(一般在docker tag镜像改名后,最好删除改名前的镜像)
docker rmi my_tomcat:1.0
#查看
docker images
#此时,就可以删除改名后的镜像了
docker rmi 镜像id

安装mysql(docker方式)

对于轻量级使用docker方式更方便快捷

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值