操作Linux系统以及Java环境搭建

  • 一 CentOS的操作
  • 1.基础操作
  • 2.复制或移动文件
  • 3.压缩和解压文件(tar)
  • 4.文本编辑(vi/vim)
  • 5.查找(find,grep)
  • 6.操作防火墙
  • 7.操作RPM
  • 8.文件权限
  • 二 软件的安装及Java环境部署
  • 1.软件安装方式
  • 2.安装JDK
  • 3.安装TomCat
  • 4.安装MySQL
  • 5.操作MySQL
  • 6.访问MySQL
  • 7.安装 lrzsz(上传文件)
  • 8.安装Redis
  • 9.安装Nginx
  • 三 Java项目部署
  • 1.手动部署
  • 2.Shell脚本自动部署
  • 3.自动化部署脚本代码


一 CentOS的操作

本次文档使用的Linux系统为 CentOS7.5,更高版本或其他版本在Java环境搭建内容块或有部分差异。

1.基础操作

# 查看当前目录下的内容
ls
ll     显示文件的列表详情  
ls -a  显示全部文件,包括隐藏文件,linux中的隐藏文件均以点(.) 开头 
# 查看当前所在目录
pwd
# 切换目录
cd [目录名]
cd ..  切换到上级目录
cd /   切换到根目录
cd .   切换到当前目录
# 如果文件不存在则创建文件
touch [文件名]
# 创建目录
mkdir [目录名]
mkdir -p [多层目录]  使用 -p 选项可以实现多层目录一次性同时创建
# 删除指定文件
rm [文件名]
rm -f [文件名]
rm -rf [路径/文件] 强制删除指定目录或文件
rmdir [路径] 删除空目录
rmdir -p [多层路径]  父目录为空时一并删除
rmdir [目录]*  删除指定目录下的空目录
r为递归删除,f为强制删除且无需确认
# 查看文件内容
cat [文件名]
more [文件名]  以分页形式展示文件的内容,回车或空格为下一页,b键 为上一页, q键 或者 ctrl+c 退出 more模式
# 操作提示乱码时,修改Linux编码格式
echo 'LANG="en_US.UTF-8"' >> /etc/profile source /etc/profile
# 其余技巧补充
使用 tab键 可以进行快速补全,两次 tab键 给出操作提示
使用 clear命令 或者 ctrl+L键 可以实现快速清屏
# linux命令格式
command [-options] [parameter]

2.复制或移动文件

1.复制文件(cp)

# 复制文件
cp [-r] source dest
source 为源文件或目录,dest 为目标文件或路径
# 携带 -r 参数时表示复制该目录下的全部子目录或文件
cp [文件名] [目录名]    将文件复制到指定目录下
cp [文件名] [文件名]    将文件复制到指定目录下明确重命名为指定名称

2.移动文件(mv)

# 移动文件
mv [-r] source dest
source 为源文件或目录,dest 为目标文件或路径
# 携带 -r 参数时表示移动该目录下的全部子目录或文件
mv [文件名] [目录名]    将文件移动到指定目录下
mv [文件名] [文件名]    将文件移动到指定目录下明确重命名为指定名称

3.压缩和解压文件(tar)

作用:对文件进行打包,解包,压缩,解压
语法: tar [-options] 文件名
说明:以 tar 结尾的文件只是进行了打包,未进行压缩
      以 tar.gz 结尾的文件表示打包的同时还进行了压缩
参数说明:
-z  z代表gzip,通过gzip对文件进行压缩或解压操作
-c  创建一个包文件
-x  从包文件中还原文件
-v  显示执行的过程
-f   用于指定包文件的名称

常用压缩,解压的命令组合

# 打包一个文件
tar -cvf [fileName] [file]
# 从包中还原文件至指定目录
tar -xvf [fileName] -C [dirName]
# 压缩并打包一个文件 
tar -xcvf [fileName] [file]
# 从压缩包中还原文件至指定目录
tar -zxvf [fileName] -C [dirName]

4.文本编辑(vi/vim)

vi是Linux系统自带的文本编辑工具,vim 是从vi发展来的一个更为强大的文本编辑工具。
使用 vim 需要先进行安装

yum install vim

# 使用 vim 打开文件
vim [文件名]
# 进入编辑模式
打开文件后按 i键 进入编辑模式
编辑完成后使用 esc键 退出编辑模式

以下是vi/vim的三种模式转换图

java企业一般使用什么版本的linux_linux

5.查找(find,grep)

指定目录下查找文件

# 在指定目录下查找指定结尾的文件
find [目录] --name "*.文件后缀"   使用 * 通配符
# 从指定文件中查找指定内容
grep [关键字] [文件名]    示例:grep hello Hello.java

6.操作防火墙

# 1.查看防火墙状态
systemctl status firewalld
firewall-cmd --state
# 2.暂时关闭防火墙
systemctl stop firewalld
# 3.永久关闭防火墙
systemctl disable firewalld
# 4.开启防火墙
systemctl start firewalld
# 5.开放指定端口,例如tcp-8080
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 6.关闭指定端口,例如tcp-8080
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
# 7.使对于防护墙的修改立即生效
firewall-cmd --reload
# 8.查看开放的端口
firewall-cmd --zone=public --list-ports

# 补充说明:
# 1. systemctl是管理linux中的服务的命令
# 2. firewall-cmd是linux中专门用于操作防火墙的命令

7.操作RPM

RPM是(Red-Hat Package Manager)RPM软件包管理器,是红帽Linux用于管理和安装软件的工具

# 查询系统中已安装的全部软件
rpm -qa
# 查询系统中已安装的指定软件
rpm -qa | grep [softwareName]
# 卸载系统中已安装的指定软件
rpm -e --nodeps [softwareName]
# 安装指定的rpm安装包
rpm -ivh [softwareName]

8.文件权限

Linux系统中权限分为3级,文件所有者(Owner),用户组(Group),其他用户(Other Users)

java企业一般使用什么版本的linux_java_02


使用 chmod 命令控制文件的权限,例如对于bootStart.up文件的授权。

java企业一般使用什么版本的linux_MySQL_03

二 软件的安装及Java环境部署

1.软件安装方式

1.二进制发布包安装:针对平台已经编译打包发布的软件,只要解压,修改配置即可。
2.rpm安装:软件已经按照redhat的包管理规范打包,使用 rpm 命令进行安装,不能自行解决库依赖问题。
3.yum安装:一种在线安装方式,本质还是rpm,可自动安装依赖库。
4.源代码编译安装,需要自己编译打包

2.安装JDK

以jdk1.8为例,使用二进制安装方式进行安装
官网下载地址:JDK1.8官网下载地址 注意:文件名称不一致时请注意甄别,不要直接复制粘贴!!!

# 操作步骤1,将文件上传到服务器并且解压到指定路径下
tar -zxvf jdk-8u341-linux-x64.tar.gz -C /usr/local
# 操作步骤2,打开 /etc/profile 文件
vim /etc/profile
# 操作步骤3,在profile文件末尾追加 JAVA_HOME 及 PATH 的配置内容
JAVA_HOME=/usr/local/jdk1.8.0_341
PATH=$JAVA_HOME/bin:$PATH
# 操作步骤4,重新加载profile文件,使配置立即生效
source /etc/profile
# 操作步骤5,输出版本号,检查看装是否完成
java -version

输出以下内容则说明jdk安装完成。

java企业一般使用什么版本的linux_服务器_04

3.安装TomCat

以tomcat8.5为例,以二进制的方式进行安装
官网下载地址:TomCat官网下载地址 注意:文件名称不一致时请注意甄别,不要直接复制粘贴!!!

# 操作步骤1,使用ftp工具将安装包上传至服务器,然后解压
tar -zxvf apache-tomcat-8.5.81.tar.gz -C /usr/local
# 操作步骤2,进入tomcat的bin目录
cd /usr/local/apache-tomcat-8.5.81/bin
# 操作步骤3,通过运行 startup.sh 脚本文件启动服务
sh startup.sh
或
./shartup.sh
# 操作步骤4,查看tomcat进程,检查是否启动成功
ps -ef|grep tomcat
# 操作步骤5,停止tomcat服务,杀掉进程或者运行 shutdown.sh 脚本文件
sh shutdown.sh
或
./shutdown.sh
或者
kill 9 112807
# 操作步骤6,查看tomcat启动日志,在tomcat安装根目录下的logs目录内,其他日志也在该目录下
more /usr/local/apache-tomcat-8.5.81/logs/catalina.out
或者 直接查看最后几行日志信息
tail -10 /usr/local/apache-tomcat-8.5.81/logs/catalina.out
# 操作步骤7,开放防火墙端口并使其生效,tomcat默认端口为8080
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
# 操作步骤8:
# 8.1 可以在浏览器输入 localhost:8080,如果出现tomcat默认网页界面,则说明tomcat安装完成。
# 8.2 在其他终端设备上则输入服务器 ip:port 即可。

# 解释说明:9表示强制关闭进程 112807为tomcta服务的进程号,通过 步骤4 可以查询到,每次启动大概率不相同。
# ps -ef 用于查看当前正在运行的进程
# 竖线(|) 称之为管道符,作用是将前一个命令的输出结果作为后一个命名的输入
# 所以经常性使用 ps -ef | grep [进程名] 来查询指定进程的运行状况 
ps -ef | grep [进程名]

java企业一般使用什么版本的linux_linux_05

4.安装MySQL

以 MySQL5.7 为示例,使用rpm安装方式,即需要分别安装需要的依赖才能完成安装。
MySQL官网下载地址:MySQL官方下载 注意:文件名称不一致时请注意甄别,不要直接复制粘贴!!!

# 操作步骤1,将mysql安装包上传至服务器并且解压至指定位置,(该压缩包中的文件均为rpm安装包,建议创建单独目录存放)
mkdir -p /usr/local/mysql5.7
tar -xvf  mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql5.7
# 操作步骤2,确保系统中未安装MySql以及mariadb,
rpm -qa  查询系统中已安装的全部软件
rpm -qa | grep mysql 查询系统中是否安装 MySQL
rpm -qa | grep mariadb 查询系统中是否安装 mariadb,该软件容易与MySQL产生冲突,需要卸载才能安装MySQL
# 操作步骤3,如果存在 mariadb,则卸载
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
# 操作步骤4,按照指定顺序分别安装mysql的rpm安装包
rpm -ivh mysql-community-common-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.39-1.el7.x86_64.rpm
# 操作步骤5,安装过程中如果提示缺少net-tools依赖,则使用以下命令安装
yum install net-tools
# 操作步骤6,安装MySQL服务
rpm -ivh mysql-community-server-5.7.39-1.el7.x86_64.rpm

# 可以通过指令升级现有软件及系统内核,非必须
yum update

5.操作MySQL

# 查看MySQL服务状态
systemctl status mysqld
# 启动MySQL服务
systemctl start mysqld
# 开机启动MySQL
systemctl enable mysqld
# 查看已经启动的服务
netstat -tunlp
netstat -tunlp|grep mysql
# 查看MySQL进程
ps -ef|grep mysql
# 开放MySQL端口,默认3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

java企业一般使用什么版本的linux_mysql_06

6.访问MySQL

MySQL安装完成之后,默认的临时密码存在于MySQL的日志文件中,需要使用MySQL临时密码登录并设置其他有效密码。

# 操作步骤1,查看日志文件,寻找包含密码关键字的内容
cat /var/log/mysqld.log
cat /var/log/mysqld.log | grep password
# 操作步骤2,使用临时密码登录MySQL数据库
mysql -uroot -p
password:*********
# 操作步骤3,登录mysql之后修改密码

# 以下步骤非必须
# set global validate_password_length=6; 设置密码最低位数为6
# set global validate_password_policy=LOW; 设置密码安全等级为低

# 将密码设置为123456
set password=password('123456') 
# 操作步骤4,开启root账户访问权限并使其生效
grant all on *.* to 'root'@'%' identified by '123456';
flush privileges;

# 其他补充
MySQL界面输入 exit 或者 quit 退出

java企业一般使用什么版本的linux_服务器_07

7.安装 lrzsz(上传文件)

lrzsz是一款向服务器上传文件的软件,使用 lrzsz 无需安装ftp工具,可以方便的进行文件上传。

# 操作步骤1,搜索 lrzsz 
yum list lrzsz
# 操作步骤2,安装 lrzsz
yum install lrzsz.x86_64
# 操作步骤3,输入 rz 打开上传文件界面,选择需要上传的文件
rz

8.安装Redis

Redis下载地址:Redis下载 使用源码安装的方式进行安装,以Redis3.2为例。(建议安装低版本,否则会报错)
参考官方文档:https://redis.io/docs/getting-started/installation/install-redis-from-source/

# 操作步骤1,下载安装包上传至服务器,并且解压至指定位置
tar -zxvf redis-3.2.0.tar.gz -C /usr/local
# 操作步骤2,安装Redis依赖环境gcc
yum install gcc-c++
# 操作步骤3,进入Redis解压目录,编译源代码
cd /usr/local/redis-3.2.0
make
# 操作步骤4,进入 Redis 的 src 目录,进行安装
cd /usr/local/redis-3.2.0/src
make install
# 操作步骤5,运行Redis,可以在任意路径下
redis-server

9.安装Nginx

Nginx下载地址:Nginx官方地址 使用源代码安装方式,以1.22.0版本为例

# 操作步骤0,安装依赖包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
# 操作步骤1,可使用wget下载安装包
wget http://nginx.org/download/nginx-1.22.0.tar.gz
# 操作步骤2,解压至指定位置
tar -zxvf nginx-1.22.0.tar.gz -C /usr/local
# 操作步骤3,切换至nginx目录下,使用configure命令nginx的安装位置
./configure --prefix=/usr/local/nginx
# 操作步骤4,编译并且安装
make & make install
# 其他常用操作(sbin路径下)
cd /usr/local/nginx/sbin
# 查看版本号
./nginx -v
# 检查配置文件的正确性
./nginx -t
# 启动或停止nginx,重新加载配置文件
./nginx
./nginx -s stop
./nginx -s reload
# 将nginx配置到系统变量中
vim /etc/profile
export PATH=/usr/local/nginx/sbin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
# 配置完成之后直接使用nginx命令即可
nginx
nginx -s stop
nginx -s reload

java企业一般使用什么版本的linux_服务器_08

三 Java项目部署

1.手动部署

以Maven项目为例,将项目打包为 jar包,并上传至服务器,然后通过 java -jar 命令直接启动项目即可。

# 使用独占方式运行(霸屏模式)
java -jar [jar包名]
# 改为后台用运行并且输出日志到指定位置
nohup java -jar [jar包名] &>[日志文件名]&

2.Shell脚本自动部署

使用Shell脚本完成项目的自动部署,包括从Git仓库拉取,使用Maven打包等
Maven官方下载地址:Maven下载

# 操作步骤1,安装Git,并且将代码colne到服务器
yum list git
yum install git
git clone [仓库地址]
# 操作步骤2,安装Maven。将maven压缩包上传至服务器,并且解压
tar -zxvf apache-maven-3.8.6-bin.tar.gz -C usr/local
# 操作步骤2.1 配置maven,修改配置文件,加入指定内容
vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.8.6
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
# 操作步骤2.2 重新加载配置文件且查看maven版本
source /etc/profile
mvn -version

java企业一般使用什么版本的linux_mysql_09


配置maven仓库地址

# 创建一个路径用于存于maven仓库
mkdir -p /usr/local/repo
# 修改maven配置文件
vim /usr/local/apache-maven-3.8.6/conf/settings.xml
# 配置仓库路径
<localRepository>/usr/local/repo</localRepository>
# 配置镜像地址
<mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      <blocked>false</blocked>
    </mirror>
</mirrors>

3.自动化部署脚本代码

使用时注意修改项目路径地址及包名称,留意方括弧【】的位置。

echo =====================================
echo 自动化部署脚本
echo =====================================

echo 停止原来运行的工程

APP_NAME=【项目名称】

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`

if [ ${tpid} ];then
     echo 'Stop Process...'
     kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ];then
     echo 'Stop Process...'
     kill -9 $tpid
else
   echo 'Stop Sucesses'
fi

echo "准备从Git仓库获取最新代码"
cd 【代码根目录路径】

echo "开始从Git仓库获取最新代码"
git pull
echo "代码拉取完成"

echo "开始打包..."
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo "启动项目"

nohup java -jar 【jar包名称】 &> 【日志文件名称】 &

echo "项目部署完成..."

完结撒花。
2022.09.05,补充Nginx部分内容,纠正部分错别字。