磁盘管理
概述
Linux磁盘管理好坏直接关系到整个系统的性能问题。
Linux磁盘管理常用命令为 df、du。
- df :列出文件系统的整体磁盘使用量
- du:检查磁盘空间使用量
df
du
查看当前目录下的磁盘空间使用情况。
与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看
磁盘挂载和卸载
根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”
Linux 的磁盘挂载使用mount命令,卸载使用umount命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
# 将 /dev/hdc6 挂载到 /mnt/hdc6 上面!
[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
磁盘卸载命令 umount 语法:
umount [-fn] 装置文件名或挂载点
选项与参数:
- -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
- -n :不升级 /etc/mtab 情况下卸除。
卸载/dev/hdc6
[root@www ~]# umount /dev/hdc6
进程管理
什么是进程?
- 在Linux中,每一个程序都有自己的一个进程,每一个进程都有一个id号。
- 每一个进程都会有一个父进程;
- 进程可以有两种存在方式,前台(一关了之后就结束了)、后台;
- 一般的话,服务都是后台运行的,基本的程序都是前台运行的。
命令
ps:查看当前系统中正在执行的各种进程信息;
- -a:显示当前终端运行的所有的进程信息;
- -u:以当前用户的信息显示进程;
- -x:显示后台运行进程的参数;
ps -aux
|:管道符
A | B,可以把A命令的结果作为输出传递给B命令
# grep 查找文件中符合条件的字符串
所以:
ps -aux | grep mysql
ps -aux | grep redis
ps -aux | grep java
ps -ef:可以查看到父进程的信息。
ps -ef | grep mysql
pstree -pu # 以树结构查看父进程
结束进程:
kill -9 进程的id # 表示强制结束该进程
环境安装
安装软件一般有三种方式:rpm(jdk),解压缩(tomcat)、yum在线安装(docker)。
JDK安装
我们开发Java程序必须要的环境。
1、rpm下载地址
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2、通过Xftp上传到Linux
3、检测当前系统是否存在Java环境
[root@localhost home]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
卸载。
[root@localhost home]# rpm -qa | grep jdk
java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
检查JDK的版本信息。
rpm -e --nodeps 软件包名称
--nodeps
:强制删除。
[root@localhost home]# java -version
-bash: /bin/java: 没有那个文件或目录
卸载完毕。
4、安装环境
[root@localhost opt]# rpm -ivh jdk-8u261-linux-x64.rpm
警告:jdk-8u261-linux-x64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jdk1.8-2000:1.8.0_261-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
[root@localhost opt]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
5、配置环境变量
文件:/etc/profile
。
JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
在文件的后面添加。
JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
6、让这个配置文件生效。
source /etc/profile
7、把jar包发送到Linux上执行。
java -jar
服务器需要开启端口(防火墙)。
使用java -jar命令把SpringBoot项目(jar包)跑起来后,放到阿里云服务器上,并且开启端口,那么所有人就都可以访问到了。
Tomcat安装
因为SSM项目我们打的是war包,那么就需要Tomcat服务器的支持,不像SpringBoot项目直接内置了Tomcat服务器。
先使用Xftp把.tar.gz文件移动到Linux上。
[root@localhost opt]# mv apache-tomcat-9.0.37.tar.gz /usr
[root@localhost opt]# cd /usr
[root@localhost usr]# ls
apache-tomcat-9.0.37.tar.gz bin etc games include java lib lib64 libexec local sbin share src tmp
将文件剪切到/usr目录下。
解压这个文件
tar -zxvf apache-tomcat-9.0.37.tar.gz
[root@localhost usr]# ls
apache-tomcat-9.0.37 apache-tomcat-9.0.37.tar.gz bin etc games include java lib lib64 libexec local sbin share src tmp
[root@localhost apache-tomcat-9.0.37]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@localhost apache-tomcat-9.0.37]# cd webapps
[root@localhost webapps]# ls
docs examples host-manager manager ROOT
启动Tomcat,那么webapps目录下的项目就会发布。
(在Windows下启动时bat,在Linux下启动时sh)
[root@localhost apache-tomcat-9.0.37]# cd bin
[root@localhost bin]# ls
bootstrap.jar ciphers.bat configtest.bat digest.sh setclasspath.sh startup.sh tool-wrapper.sh
catalina.bat ciphers.sh configtest.sh makebase.bat shutdown.bat tomcat-juli.jar version.bat
catalina.sh commons-daemon.jar daemon.sh makebase.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina-tasks.xml commons-daemon-native.tar.gz digest.bat setclasspath.bat startup.bat tool-wrapper.bat
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/apache-tomcat-9.0.37
Using CATALINA_HOME: /usr/apache-tomcat-9.0.37
Using CATALINA_TMPDIR: /usr/apache-tomcat-9.0.37/temp
Using JRE_HOME: /usr/java/jdk1.8.0_261-amd64
Using CLASSPATH: /usr/apache-tomcat-9.0.37/bin/bootstrap.jar:/usr/apache-tomcat-9.0.37/bin/tomcat-juli.jar
Tomcat started.
要确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效