目录

Linux系统的学习与使用(Centos8)

Linux系统的介绍

Linux不是一个具体的操作系统,而是一类操作系统的统称。具体的版本称之为发行版。发行版一般有如下几个

  • Red Hat :红帽,目前被IBM收购了。收费版。是目前全球最大的Linux供应商
  • CentOs:Red Hat推出的免费版的Linux操作系统
  • Ubuntu:图形化页面比较友好的Linux操作系统(免费)

为什么要选择Linux作为服务器运行的操作系统

  • 开源免费
  • 听说10年不关机依然可以正常运行
  • 比Windows更加的安全

目录结构

Linux不同于Windws硬盘进行了分区,分为c盘,d盘等等。

可以理解为Linux只有一个分区。所有的文件都存放在该分区中。

  • ect 存放配置文件,可以想想一下windows的环境变量

  • bin 可执行文件,我们输入的命令,例如cd,ls等都存放在该目录

  • usr/local 相当于Windows安装东西等的默认安装目录

  • var 存放一些临时文件

  • home 除了root用户外,其他用户都会在该目录下有一个同名文件夹。对应的用户对其文件夹有完整的权限

  • root 只有root用户能够操作的目录

使Linux系统能够联网(登录root用户)

  • 编辑该网卡配置,开启该网卡

    vi /etc/sysconfig/network-scripts/ifcfg-ens33

  • 重启该网卡

    nmcli c reload ens33

常用命令

cd命令(用于进入到某个目录)

cd ./aa/ 进入到当前目录下的aa文件夹
cd ../bb/ 进入上一级目录下的bb文件夹
cd /home 进入根目录下的home目录

ls、ll命令 (查看某目录下的文件和文件夹)

ls 查看目录下的文件及文件夹。不显示详细信息,只显示名称。
ls -a 功能同上,但是会显示隐藏的文件或文件夹
ll 查看当前目录下的文件及文件夹。显示详细信息。

clear命令(清屏)

clear 清屏

pwd命令(获取当前所在目录)

pwd 执行后会在控制台输出你当前所在的目录

mkdir 命令(创建目录)

mkdir ./aa  在当前目录创建一个aa文件夹
mkdir /home/dqx/bb 在根路径的home目录下的dqx目录下创建一个bb文件夹
特别提示:mkdir 命令如果没有加参数,则只能创建一级的文件夹,如果要在bb目录下创建aa,那么bb则必须先存在。所以有如下指令。
mkdir -p /home/dqx/aa/bb 会创建bb目录。但是如果aa目录或者dqx目录等前面的目录不存在,则会一同创建

rm命令(删除文件或目录)

rm aa.txt 删除当前目录下的aa.txt文件
rm -r /home/dqx/aa 删除 根路径下的 home目录下的dqx目录下的aa文件夹,及其里面的文件或子文件夹。会出现需要确认的提示
rm -rf /home/dqx/aa 功能同上,但是不会提示是否需要删除。

touch 命令(创建文件)

touch a.txt 在当前目录下创建一个文件

vi/vim命令(文本编辑)

vi a.txt 会编辑当前目录下的a.txt文件
按下ESC则进入命令状态
命令状态下按i,看到左下角有insert,则进入输入状态。
命令状态下按 :q 退出当前编辑,(未改动的情况下)
命令状态下按 :wq 写入并退出
命令状态下按 :wq! 强制写入并退出
命令状态下按 dd 会删除光标所在的行
命令状态下按 d + 行号 + enter 会删除指定行号的行 使用vi或者vim命令操作文件时,有时候会出现有临时文件,可以根据需求对临时文件进行操作。例如删除临时文件(在弹出有临时文件的提示时按D),也可以手动rm -rf xxxx.swap临时文件

cat命令(查看数据)

cat a.txt 查看当前目录下a.txt文件的内容

tail命令(查看指定条目数据)

tail a.txt 查看当前目录下a.txt文件的最后10行内容
tail -5 a.txt 查看当前目录下a.txt文件的最后5行内容
tail -f a.txt 动态查看a.txt文件,如果该文件修改,那么我们看到的数据也会修改

mv命令(剪切)

mv 需要移动的文件 目的文件
mv ./a.txt /home/dqx/b.txt 将当前目录下的a.txt文件剪切到根目录下的home目录 下的dqx目录下,并且重命名为b.txt (注意了,必须要写移动后的文件名)

cp命令(复制)

cp ./a.txt /home/dqx 将当前目录下的a.txt文件复制到/home/dqx文件目录下(可以不用指定复制后的文件名)

cp ./a.txt /home/dqx/b.txt 也可以指定文件名
cp -r ./aa ./bb/ 将aa文件夹复制到bb文件夹中

tar(解压压缩文件)

tar -zxvf 压缩文件
解压 .tar.gz 以及 .tar文件
z:是否具有gzip文件格式,也就是扩展名是否为.tar.gz
x:解压内容
v:是否显示解压过程
f:写到最后,然后紧跟需要被解压的文件

ps命令(查询进程)

ps -ef|grep mysql 查询mysql的全部进程
ps -aux|grep mysql 显示所有包含其他使用者的mysql进程
-e 显示所有进程,环境变量
-f 全格式

kill(杀死进程)

kill -9 进程号  ,-9代表强制删除,无论是否在运行

service命令(主要用于操作系统服务)

service 服务名 start|stop|status|restart
service firewalld stop // 关闭防火墙

systemctl命令(系统控制)

systemctl disable firewalld // 关闭防火墙开机自动启动
systemctl enable firewalld // 与上相反

安装JDK

将下载好的压缩版的linux版本的JDK下载到/usr/local/tmp文件夹下

tmp文件夹是自己创建的

使用tar -zxf命令解压该压缩包

将解压后的文件夹复制到/usr/local目录下,并命名为jdk

为jdk配置环境变量,/etc/profile

  • 打开配置环境变量的文件

    vim /etc/profile



    保存退出。
  • 重新解析该配置文件

    source /etc/profile

java环境测试是否安装成功

如若以下三个命令都能找到指令,则代表jdk环境配置好了
java -version
javac
java

安装MYSQL8

去官网下载对应的mysql8版

下载地址

将其复制到linux系统的/usr/local/tmp目录下并解压

将解压后的mysql文件夹复制到/usr/local目录中,并重命名文件夹为mysql

进入到mysql目录,创建my.cnf文件,修改并保存

cd /usr/local/mysql
vim my.cnf # my.cnf文件配置如下,请自行按照需求更改
[mysqld]
# 端口
port=3306
# 基础mysql路径
basedir=/usr/local/mysql/
# mysql的数据存储路径
datadir=/usr/local/mysql/data/
# 出现错误的日志文件路径
log-error=/usr/local/mysql/data/error.log
# mysql以socket方式运行的sock文件位置
socket=/tmp/mysql.sock
# 进程id文件的位置
pid-file=/usr/local/mysql/data/mysql.pid
# 服务器使用的字符集
character-set-server=utf8mb4
# 使表名不区分大小写,如果为0则区分
lower_case_table_names=1
# innodb日志大小
innodb_log_file_size=1G
# 默认使用的引擎
default-storage-engine=INNODB
# 默认使用的验证插件
default_authentication_plugin=mysql_native_password [mysql]
default-character-set=utf8mb4 [client]
# 端口号
port=3306
# 客户端默认字符集
default-character-set=utf8mb4

将该my.cnf复制一份到/etc/目录下,因为mysql8启动时会在该目录找配置文件

cp /usr/local/mysql/my.cnf /etc/

添加mysql的用户组及用户,并授权

# 创建用户组,名为mysql
groupadd mysql
# 创建一个用户 -r代表创建系统用户, -g代表指定用户组,所以用户名为mysql,所属的用户组也是mysql
useradd -r -g mysql mysql
# 将mysql目录的所有者设置为mysql用户,所属的组设置为mysql组
chown -R mysql:mysql /usr/local/mysql/

执行命令初始化mysql,并查看初始密码

# 初始化mysql数据
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 查看初始化密码
cat /usr/local/mysql/data/error.log

创建软连接

# 创建的原因是因为mysql使用的libtinfo.so是5的,而centos默认是使用6的,所以要替换成5
# 创建一个软连接/usr/lib64/libtinfo.so.5 ,指向/usr/lib64/libtinfo.so.6
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5

将mysql注册成服务,使其可以通过service|systemctl命令控制

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

设置mysql开启自启动并启动mysql服务

# 设置开机自启动
systemctl enable mysql
# 启动mysql服务
service mysql start



为mysql添加软连接,使得任何路径下都能使用mysql命令

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

登录mysql(这里的密码是前面初始化mysql时那一步时创建的随机密码),并重新设置root密码,以及开启远程访问

修改当前root密码

创建一个所有ip都能访问的root用户,并授予所有权限

# 创建一个root用户,%代表所有ip都可访问
create user 'root'@'%' identified by 'root';
# 为该用户赋予所有权限,并且使其也可以赋予权限给其他用户
grant all privileges on *.* to 'root'@'%' with grant option;
# 刷新权限
flush privileges;

使用navicat测试连接

安装Tomcat

下载Linux版的tomcat

下载地址

将下载下来的文件放入linux系统的/usr/local/tmp目录下,然后执行如下操作

# 进入该目录
cd /usr/local/tmp/
# 解压,这个压缩包的名称按照你下载的来
tar -zxf apache-tomcat-8.5.69.tar.gz
# 将其复制到/usr/local目录下,并重命名为tomcat
cp -r apache-tomcat-8.5.69 /usr/local/tomcat

进入tomcat的bin目录,开启tomcat服务

# 进入目录
cd /usr/local/tomcat/bin
# 开启tomcat
./startup.sh
# 关闭tomcat
./shutdown.sh

部署项目到Linux的tomcat中

首先将我们的项目打包成war包

war包本质上就是tomcat可以识别的一个压缩包。与jar无异。

将该war包放入tomcat服务器的webapps目录下

启动tomcat

/usr/local/tomcat/bin/startup.sh

查看tomcat错误日志

如果将war包放入tomcat的webapps目录下,然后启动tomcat无法正常访问。可以看看tomcat的日志

tomcat的日志在tomcat安装根路径下的logs文件夹目录中。其中有一个catalina.out的文件,查看该文件即可看到tomcat的启动日志信息。

Centos8部署jdk、mysql8、tomcat,并部署项目到tomcat中的更多相关文章

  1. RedHat Linux 5.5安装JDK+Tomcat并部署Java项目

    与大家分享下RedHat Linux 5.5安装JDK+Tomcat并部署Java项目的步骤,希望对大家有用. 1.下载并安装jdk 虚拟机中安装RedHat Linux 5.5 64位企业版, 这里 ...

  2. Linux安装JDK,Tomcat,Mysql+部署项目

    安装VMWare虚拟机 下载地址(http://www.onlinedown.net/soft/2062.htm) 安装步骤很简单(除了选择安装路径),傻瓜式安装 同意协议 选择安装路径 安装 完成 ...

  3. Linux(Centos)之安装tomcat并且部署Java Web项目

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

  4. 【tomcat 无法部署】svn上下载的maven项目无法部署到tomcat中

    问题: svn上下载的maven项目无法部署到tomcat中,tomcat不识别项目,但是这个项目确实是web项目 发现的过程: 然后依次产看项目的编译版本: 项目的依赖架包: 才发现: 解决方法: ...

  5. 在Tomcat下部署web项目

    每个web项目可以以两种方式存在,如联合风控项目,Urc.war,另一中是Urc解压后的目录结构.而tomcat目录下的\webapps\下则均是要部署的web项目解压后的文件夹,启动tomcat后, ...

  6. Linux(Centos)之安装tomcat并且部署Java Web项目(转)

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

  7. IDEA第二章----配置git、tomcat(热部署)、database,让你的项目跑起来

    第一节:下载git客户端,整合idea 由于博主公司用的git版本管理,所以本系列都是基于git版本工具的,当然SVN与git配置类似.git同样支持安装版和解压版,支持各种操作系统,我这里下载的是W ...

  8. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  9. IntelliJ IDEA打包WAR并部署运行(mac osx)将Web项目War包部署到Tomcat服务器基本步骤(完整版)

    用IntelliJ IDEA做web开发体验很好,但导出war包比eclipse麻烦了不少,以下是解决方案: 打包:1.自动打包:File —> Project Structure —> ...

随机推荐

  1. ClickHouse学习系列之五【系统库system说明】

    背景 之前介绍过ClickHouse相关的系列文章,现在ClickHouse已经能正常使用起来了,包括副本和分片.因为ClickHouse已经可以提供服务了,现在需要关心的就是服务期间该数据库的各项性 ...

  2. 基于ILI9341的TFT液晶显示模组LCM240320详解(1)

    Hello,大家好,今天我们来讨论当下非常流行的TFT液晶显示模组,它最大的特点是可以显示出效果非常好的彩色信息,绝大多数手机.液晶显示器,液晶电视.MID.MP4等产品都在使用它,你想抗拒它的魅力还 ...

  3. Java中对象调用方法的顺序

    Java虚拟机会预先为加载到内存中的每个类维护一个方法表(Method Table),其中列出了所有类中所有方法的签名. 现在有2个类A和B,其中,B是A的子类,和一个B类型的对象x,当调用x.f(a ...

  4. React 并发功能体验-前端的并发模式已经到来。

    React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件.React 是由 Facebook 软件工程师 Jord ...

  5. Redisson 分布式锁源码 01:可重入锁加锁

    前言 相信小伙伴都是使用分布式服务,那一定绕不开分布式服务中数据并发更新问题! 单系统很容易想到 Java 的各种锁,像 synchronize.ReentrantLock 等等等,那分布式系统如何处 ...

  6. vscode 配置 Pug Compile Hero Pro 插件步骤

    这个随笔主要介绍 vscode 配置 Pug Compile Hero Pro 插件的步骤,实现快速使用less 以及 scss 等的编程语言 第一步 当然是安装我们的插件啦! 在插件商店里 搜 Sa ...

  7. 100、nginx_https安全链接配置

    100.1. tcp的三次握手和四次挥手的过程: 1.三次握手(建立连接): 第一次:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次:服务器 ...

  8. 23、mysql高可用实践

    23.1.mysql高可用业务需求: 23.2.mysql高可用架构图(单主热备模式): 23.6.部署drbd.heartbeat.mysql的主从同步: 1.部署heartbeat:参考" ...

  9. 笔记 BAT 面试题 及部分答案

    题目出自:https://www.jianshu.com/p/c70989bd5f29本文出自 AWeiLoveAndroid的博客 2018年2月20日星期二 随笔 笔记 BAT 面试题 一.jav ...

  10. Java多线程事务管理

    今天要讨论的是"Java实现多线程单条数据事务管理",在此之前,顺便回顾一下实现多线程的几种方式 实现多线程的三种方式 一.继承Thread类 第一种方法是继承Thread类,重写 ...