Loading

Linux基础

 

一、基本命令

1.1 关机和重启
 
关机
    shutdown -h now        立刻关机
    shutdown -h 5        5分钟后关机
    poweroff            立刻关机
重启
    shutdown -r now        立刻重启
    shutdown -r 5        5分钟后重启
    reboot                立刻重启
 
 
1.2 帮助命令
--help命令
  shutdown --help:
  ifconfig  --help:查看网卡信息
 
man命令(命令说明书) 
  man shutdown
  注意:man shutdown打开命令说明书之后,使用按键q退出

二、目录操作命令

2.1 目录切换 cd

 
命令:cd 目录
cd /        切换到根目录
cd /usr        切换到根目录下的usr目录
cd ../        切换到上一级目录 或者  cd ..
cd ~        切换到home目录
cd -        切换到上次访问的目录
 
 

2.2 目录查看 ls [-al]

 
命令:ls [-al]
ls                查看当前目录下的所有目录和文件
ls -a            查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll       列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir            查看指定目录下的所有目录和文件   如:ls /usr
 
 

2.3 目录操作【增,删,改,查】

 
2.3.1 创建目录【增】 mkdir
命令:mkdir 目录
mkdir    aaa            在当前目录下创建一个名为aaa的目录
mkdir    /usr/aaa    在指定目录下创建一个名为aaa的目录
 
2.3.2 删除目录或文件【删】rm
命令:rm [-rf] 目录
删除文件:
rm 文件        删除当前目录下的文件
rm -f 文件    删除当前目录的的文件(不询问)
删除目录:
rm -r aaa    递归删除当前目录下的aaa目录
rm -rf aaa    递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -rf *    将当前目录下的所有目录和文件全部删除
rm -rf /*    【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
 
2.3.3 目录修改【改】mv 和 cp
一、重命名目录
    命令:mv 当前目录  新目录
    例如:mv aaa bbb    将目录aaa改为bbb
    注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行    重命名的操作
二、剪切目录
    命令:mv 目录名称 目录的新位置
    示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面     mv /usr/tmp/aaa /usr
    注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
三、拷贝目录
    命令:cp -r 目录名称 目录拷贝的目标位置   -r代表递归
    示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面     cp /usr/tmp/aaa  /usr
    注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不    用写-r递归
2.3.4 搜索目录【查】find
命令:find 目录 参数 文件名称
示例:find /usr/tmp -name 'a*'    查找/usr/tmp目录下的所有以a开头的目录或文件

三、文件操作命令

3.1 文件操作【增,删,改,查】

 

3.1.1 新建文件【增】touch

命令:touch 文件名
示例:在当前目录创建一个名为aa.txt的文件        touch  aa.txt
 

3.1.2 删除文件 【删】 rm

命令:rm -rf 文件名
 

3.1.3 修改文件【改】 vi或vim

【vi编辑器的3种模式】
    基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
 
1) 命令行模式command mode)
      控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
      命令行模式下的常用命令:
      【1】控制光标移动:↑,↓,j
      【2】删除当前行:dd 
      【3】查找:/字符
      【4】进入编辑模式:i o a
      【5】进入底行模式::
      
2) 编辑模式(Insert mode)
      只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
      编辑模式下常用命令:
      【1】ESC 退出编辑模式到命令行模式;
      
3) 底行模式(last line mode)
     将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
     底行模式下常用命令:
     【1】退出编辑:   :q
     【2】强制退出:   :q!
     【3】保存并退出:  :wq
 
打开文件
命令:vi 文件名
示例:打开当前目录下的aa.txt文件     vi aa.txt 或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
 
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存或者取消编辑
 
保存文件:
第一步:ESC  进入命令行模式
第二步::     进入底行模式
第三步:wq     保存并退出编辑
取消编辑:
第一步:ESC  进入命令行模式
第二步::     进入底行模式
第三步:q!     撤销本次修改并退出编辑
 

3.1.4 文件的查看【查】

文件的查看命令:cat/more/less/tail
 
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
 
more:百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
 
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上    和向下翻页,q结束查看
less sudo.conf
 
tail:指定行数或者动态查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束  
tail -10 sudo.conf
 

3.1.5 重定向输出>和>>

重定向输出,覆盖原有内容;>> 重定向输出,有追加功能;示例:

cat /etc/passwd > a.txt  将输出定向到a.txt中

cat /etc/passwd >> a.txt  输出并且追加

ifconfig > ifconfig.txt

3.1.6管道

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。示例

ls --help | more  分页查询帮助信息

ps –ef | grep java  查询名称中包含java的进程

ifconfig | more

cat index.html | more

ps –ef | grep aio

 

3.2 权限修改

rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限u
第二段(3位):代表拥有者所在的组,组员的权限g
第三段(最后3位):代表的是其他用户的权限o
   421  421  421
-  rw-   ---     ---
命令:chmod u+x aaa.txt 或者采用8421法 命令:chmod 100 aaa.txt

四、压缩文件操作

4.1 打包和压缩
Windows的压缩文件的扩展名  .zip/.rar
linux中的打包文件:aa.tar      
linux中的压缩文件:bb.gz    
linux中打包并压缩的文件:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:
  z:调用gzip压缩命令进行压缩
  c:打包文件
  v:显示运行过程
  f:指定文件名
  
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt 
或:tar -zcvf ab.tar  *
 
4.2 解压
命令:tar [-zxvf] 压缩文件    
其中:x:代表解压
示例:将/usr/tmp 下的ab.tar解压到当前目录下
示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
tar -xvf ab.tar -C /usr------C代表指定解压的位置

五、查找命令

5.1 grep

grep命令是一种强大的文本搜索工具
使用实例:
ps -ef | grep sshd 查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 ps -ef | grep sshd -c 查找指定进程个数
 

5.2 find

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。 
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
使用实例:
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件
 
 

5.3 which

which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用实例:
which pwd 查找pwd命令所在路径 which java 查找path中java的路径

六、su、sudo

6.1 su

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录 su - test : 切换到test用户,路径变成了/home/test su : 切换到root用户,但是路径还是原来的路径 su - : 切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
退出返回之前的用户:exit

6.2 sudo

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
进入sudo配置文件命令:
 
vi /etc/sudoer或者visudo 案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
 
hadoop ALL=(ALL) ALL 案例:
只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。
配置文件中: hadoop ALL=NOPASSWD: /bin/ls, /bin/cat 允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。

七、系统相关

1.服务

service iptables status --查看iptables服务的状态
service iptables start --开启iptables服务
service iptables stop --停止iptables服务
service iptables restart --重启iptables服务
 
chkconfig iptables off --关闭iptables服务的开机自启动
chkconfig iptables on --开启iptables服务的开机自启动
 

service --status–all 查看系统中所有后台服务

netstat –nltp 查看系统中网络进程的端口监听情况

2.系统管理

top   实时显示 process 的动态  

top -p  查看进程的pid

 

ps 正在运行的某个进程的状态

ps –ef  查看所有进程

ps –ef | grep ssh 查找某一进程

 

kill 2868  杀掉2868编号的进程

kill -9 2868  强制杀死进程

3.日期管理

date [参数选项]


-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; 
-u:显示GMT; 
--help:在线帮助; 
--version:显示版本信息

设置时间  date -s "2019-12-11 16:15:00"

显示时间  date

八、网络管理

8.1 主机名配置

hostname 查看主机名

hostname xxx 修改主机名 重启后无效

如果想要永久生效,可以修改/etc/sysconfig/network文件

      [root@node1 ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=node1

8.2 IP 地址配置

ifconfig 查看(修改)ip地址(重启后无效)

ifconfig eth0 192.168.12.22 修改ip地址

如果想要永久生效

修改 /etc/sysconfig/network-scripts/ifcfg-eth0文件

DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp/bootp/none)

HWADDR=00:0C:29:B5:B2:69 #MAC地址
IPADDR=12.168.177.129 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址

8.3 域名映射

/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用,相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能

/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的ip地址。
[root@node1 ~]# vi /etc/hosts #### 在最后加上 192.168.52.201 node1 192.168.52.202 node2 192.168.52.203 node3

8.4 网络服务管理

如果没有命令 安装yum install iptables-services

service network status 查看指定服务的状态

service network stop 停止指定服务

service network start 启动指定服务

service network restart 重启指定服务

 

service --status–all 查看系统中所有后台服务

netstat –nltp 查看系统中网络进程的端口监听情况

 

防火墙设置

防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。

service iptables status 查看防火墙状态

service iptables stop 关闭防火墙

service iptables start 启动防火墙

chkconfig  iptables off 禁止防火墙自启

九、用户管理

Linux账号管理

1) 添加用户

useradd 选项 用户名

- 选项:

  - -c comment 指定一段注释性描述。
  - -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  - -g 用户组 指定用户所属的用户组。
  - -G 用户组,用户组 指定用户所属的附加组。
  - -s Shell文件 指定用户的登录Shell。
  - -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

2) 用户口令

超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令

passwd 选项 用户名

可使用的选项:

- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。

3) 修改用户

usermod 选项 用户名

usermod -l czbk2019  czbk  :将用户czbk用户名修改成czbk2019

 4) 删除用户

userdel 选项 用户名

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件

 

userdel czbk2019  此命令删除用户czbk2019

 Linux用户组

 1) 增加用户组

groupadd 选项 用户组

使用的选项有:

- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

groupadd czbk-it  新增用户组czbk-it

2) 修改用户组

groupmod 选项 用户组

常用的选项有:

- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字


groupmod  -n czbk-it-2021  czbk-it    将组czbk-it的组名修改为czbk-it-2021。

 3) 查询用户所属组

groups 用户名

 groups  aa  查询用户aa属于某个用户组

4) 删除用户组

groupdel 用户组

groupdel czbk-it-2021 删除czbk-it-2021用户组

 将用户添加到组

1、创建一个新的组,并添加组ID(需要切换到root用户)

groupadd -g 8888 itbj2020group

2、创建3个用户(需要切换到root用户)

 useradd  itbeijinguser1
 useradd  itbeijinguser2
 useradd  itbeijinguser3

3、将上面三个用户添加到组itbj2020group

我们通过passwd命令将三个用户添加到组


gpasswd [可选项] 组名


gpasswd -a itbeijinguser1 itbj2020group
gpasswd -a itbeijinguser2 itbj2020group
gpasswd -a itbeijinguser3 itbj2020group
查看效果
grep 'itbj2020group' /etc/group

用户操作

显示用户

logname [--help][--version]

显示登录账号的信息 logname

 

su切换账户

 su -c ls root    变更帐号为 root 并在执行 ls 指令后退出返回原使用者

id命令

id [-gGnru][--help][--version][用户名称]

- -g或--group  显示用户所属群组的ID。
- -G或--groups  显示用户所属附加群组的ID。
- -n或--name  显示用户,所属群组或附加群组的名称。
- -r或--real  显示实际ID。
- -u或--user  显示用户ID。
- -help  显示帮助。
- -version  显示版本信息。

常用的也就是id命令,不带参数的  看他的uid和组信息

 

十、其他命令

9.1 查看当前目录:pwd
命令:pwd     查看当前目录路径
 
9.2 查看进程:ps -ef
命令:ps -ef    查看所有正在运行的进程
 
9.3 结束进程:kill
命令:kill pid 或者 kill -9 pid(强制杀死进程)           pid:进程号
 
9.4 网络通信命令:
ifconfig:查看网卡信息
命令:ifconfig 或 ifconfig | more
 
ping:查看与某台机器的连接情况
命令:ping ip
 
netstat -an:查看当前系统端口
命令:netstat -an
 
搜索指定端口
命令:netstat -an | grep 8080
 
9.5 配置网络
命令:setup
 
9.6 重启网络
命令:service network restart
 
9.7 切换用户
命令:su - 用户名
 
9.8 关闭防火墙
命令:chkconfig iptables off
或者:
iptables -L; iptables -F; service iptables stop
 
9.9 修改文件权限
命令:chmod 777
 
9.10 清屏
命令:ctrl + l
 
9.11 vi模式下快捷键
esc后:
保存并退出快捷键:shift+z+z
光标跳到最后一行快捷键:shift+g
删除一行:dd
复制一行内容:y+y

Linux 通过RPM包安装 MySQL 8.0

安装前,我们可以检测系统是否自带安装 MySQL:

rpm -qa | grep mysql


如果你系统有安装,那可以选择进行卸载:

// 普通删除模式
rpm -e mysql
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
rpm -e --nodeps mysql


安装 MySQL:
接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址:https://dev.mysql.com/downloads/repo/yum/

这里我们选择使用wget下载:

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

 

安装:

rpm -ivh mysql80-community-release-el7-1.noarch.rpm
yum install mysql-server


安装过程中会需要提示下载依赖,按y确认下载即可:

初始化MySQL:

mysqld --initialize


1
启动 MySQL:

service mysqld start

 

查看 MySQL 运行状态:

service mysqld status

 

验证 MySQL 安装
在成功安装 MySQL 后,一些基础表会被初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。

使用 mysqladmin 工具来获取服务器状态:

mysqladmin --version

 

linux上该命令将输出以下结果,该结果基于你的系统信息:


如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。

使用 MySQL Client(Mysql客户端) 执行简单的SQL命令
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到Mysql服务器上,默认情况下Mysql服务器的密码为空,所以本实例不需要输入密码。
命令如下:

mysql -uroot -p

 

以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:

安装问题错误解决:
1.Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details. 错误

根据提示,分别使用service mysqld status和journalctl -xe查看服务启动失败的原因,发现是目录权限不足造成的,通过查看mysql目录发现目录下有的文件归属还是root,改成mysql即可

ll /var/lib/mysql |grep mysql
chown -R mysql:mysql /var/lib/mysql


2.ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 错误

停止mysql服务:

service mysqld stop

 

修改配置文件无密码登录:

vi /etc/my.cnf


在最尾部加上:

skip-grant-tables

保存,启动mysql:

service mysqld start


登录mysql:

mysql -u root


查询mysql数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)


选中mysql数据库:

mysql> use mysql;
Database changed


首先更新root密码为空字符串:

update user set authentication_string='' where user='root';


退出,删除之前步骤加上的 “skip-grant-tables” 然后重启mysql:

// 1,退出
exit
// 2,修改,删除最后的skip-grant-tables
vim /etc/my.cnf
// 3,重启
service mysqld restart


然后在登陆Mysql:

mysql -uroot


使用ALTER修改root用户密码,方法为 ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘新密码’。如下:

ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码';


然后再用exit退出,再次登陆mysql就需要使用密码了,密码就是刚刚修改的密码

linux环境彻底删除mysql步骤

1,使用命令查看mysql的安装情况

rpm -qa | grep mysql

 

结果:

[root@iZwz947of4lcxm9pai1f8vZ ~]# rpm -qa | grep mysql
mysql-community-common-5.7.24-1.el7.x86_64
mysql-community-libs-5.7.24-1.el7.x86_64
mysql-community-client-5.7.24-1.el7.x86_64
mysql57-community-release-el7-9.noarch
mysql-community-server-5.7.24-1.el7.x86_64


2,停止mysql服务,删除所安装的mysql服务

rpm -e --nodeps mysql服务名称(上面命令查询的服务),如:
rpm -e --nodeps mysql-community-common-5.7.24-1.el7.x86_64
rpm -e --nodeps mysql-community-libs-5.7.24-1.el7.x86_64
rpm -e --nodeps mysql-community-client-5.7.24-1.el7.x86_64
rpm -e --nodeps mysql57-community-release-el7-9.noarch
rpm -e --nodeps mysql-community-server-5.7.24-1.el7.x86_64


3,查找mysql的目录和库文件,并删除

[root@iZwz947of4lcxm9pai1f8vZ ~]# find / -name mysql 
/var/lib/mysql
/var/lib/mysql/mysql
/etc/logrotate.d/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/bin/mysql


删除对应的mysql目录

rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/bin/mysql


注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf 


4,再次查询mysql的安装情况

rpm -qa | grep mysql

 

安装jdk8及环境变量配置

jdk下载

  1. 进入jdk下载页面
    https://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 下拉找到JavaSE8,点击右侧jdk下的download按钮
  3. 下载jdk-8u301-linux-i586.tar.gz
  4. 这里选择使用Xshell的Xftp工具
  5. 先新建一个文件夹,目录是/usr/local/java   
mkdir /usr/local/jdk

    6.在左侧的Windows目录中找到下载的jdk源码包,双击传入Linux的/usr/local/java目录

jdk解压

1. 命令行进入/usr/local/java文件夹

cd /usr/local/java

2.解压:tar zxvf 压缩包

tar zxvf jdk-8u191-linux-x64.tar.gz

环境变量

编辑/etc/profile文件

  1. 编辑/etc/profile文件
    vi /etc/profile
  2. Insert或者I键,切换成编辑模式。
    找到内容末尾,按图片输入下面一段话。
    unset i的前面输入
export JAVA_HOME=/usr/local//jdk/jdk1.8.0_301
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#(!!!注意:JAVA_HOME的路径是你实际解压后的JDK的路径,千万别写错了)

       3.按Esc退出编辑模式,输入:wq保存并退出

      4.生效环境变量
      对于/etc/profile编写完成之后是不够的,还需要最后一个步骤,就是让刚刚我们修改的文件变成有效起来,所以我们再输入一个命令,让修改生效。

source /etc/profile

验证

java -version

显示版本号就是安装成功了

如果报错:/jdk/jdk1.8.0_301/bin/java: 没有那个文件或目录

1:首先检查环境变量是否都正确

2:环境变量都正确还是报“-bash: /usr/local/jdk1.8.0_271/bin/java: 没有那个文件或目录”,执行如下命令:

yum install glibc.i686

Linux系统下安装tomcat

安装tomcat需要先安装jdk

1. 下载Apache tomcat

    tomcat官网下载地址

    在左边,可以选择下载各种版本的tomcat。根据服务器操作系统选择下载。Linux操作系统就下载tar.gz包。

    我们下载Core 下的tar.gz包  apache-tomcat-9.0.52.tar.gz

2. 检查linux是否安装tomcat 

 rpm -qa|grep tomcat 

    查看下系统信息,确认是32位还是64位:uname -a   

3. 上传服务器、解压缩tomcat

    使用WinSCP或者Xftp等工具将tar.gz压缩包上传到 /usr/local 目录中,以下操作命令都需要在root账户下操作。

    进入目录解压安装包

进入目录:cd /usr/local/Apache

解压文件:tar -zxvf apache-tomcat-9.0.52.tar.gz

将目录apache-tomcat-9.0.52重命名为tomcat9,方便一些

重命名文件:mv apache-tomcat-9.0.52 tomcat9

4. 配置环境变量

    输入:vim /etc/profile 打开配置文件,按 i 进入编辑模式,在profile文件尾部 unset -f pathmunge 后面添加如下内容:

unset i
unset -f pathmunge
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_301
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/Apache/tomcat9
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
export PATH=$PATH:${JAVA_PATH}:$PATH

   编辑完之后,按Esc 并输入  :wq(小写)  保存并退出编辑,然后输入以下指令:source /etc/profile 刷新环境配置使profile文件立即生效    

5. 正常启动

    运行  /usr/local/tomcat8/bin/startup.sh  就会启动tomcat,在浏览器中访问http://localhost:8080了,能看到如下界面,说明访问成功。

6. 正常关闭

   运行 /usr/local/tomcat8/bin/shutdown.sh  就会关闭tomcat

7. 修改tomcat配置

   进入 /usr/local/tomcat8/conf 目录修改server.xml中的tomcat端口

   运行 vim server.xml,用“/8080”定位到8080端口。可以修改端口,默认8080,然后按ESC键,然后按 :wq(注意有一个英文冒号),保存并退出。

 

8. 局域网内无法访问解决办法    

   访问本地:http://localhost:8080/正确。但局域网内无法访问,而且服务器可ping通

   先查看防火墙开放端口列表对于Centos7系统 firewall-cmd --zone=public --list-ports

   如果没有8080端口,添加端口

  •  如果是firewalld防火墙 (对于Centos7系统),开启防火墙端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent  并且重新加载防火墙 firewall-cmd --reload
  •  如果是iptables防火墙 ,执行 vi  /etc/sysconfig/iptables 加入下面内容 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

   如上配置并重启iptables就可以在局域网内访问8080端口了

   在不同Linux系统中,操作指令会有细微的差别,Centos6防火墙相关命令: 

service  iptables  status        查看防火墙状态
service  iptables  start         开启防火墙
service  iptables  stop          关闭防火墙
service  iptables  restart       重启防火墙

  对于Centos7系统来说,只有使用下面的指令,才可以对Linux防火墙进行启停。 

查看防火墙开放端口列表命令:firewall-cmd --zone=public --list-ports
开启防火墙8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭防火墙命令:systemctl stop firewalld.service
禁止防火墙开机启动命令:systemctl disable firewalld.service
重新加载防火墙命令:firewall-cmd --reload

9. 其他一些问题 

   启动以后,可以利用命令 ps -ef|grep tomcat 查看tomcat是否正常启动。 

   如果正常启动以后无法访问,可以先不修改8080端口,尝试用8080端口访问。如果可以通过8080端口正常访问,则说明80端口被其他应用占用。 

   或者使用 netstat -an|grep 8080 命令查看是否有程序占用8080端口。

posted @ 2021-02-10 20:43  丨渍丨  阅读(90)  评论(0)    收藏  举报