1.Linux简介
Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2.Linux安装
Linux系统的安装方式:
物理机安装:直接将操作系统安装到服务器硬件上
虚拟机安装:通过虚拟机软件安装--通过软件模拟的具有完整硬件系统功能,运行在完全隔离环境中的完整计算机系统
安装虚拟机:VMWare
安装Centos镜像
步骤:
打开VMWare,点击创建新的虚拟机,直接下一步
点击稍后安装操作系统
选择安装Linux,版本选择我们下载的对应版本Centos7 64位
给虚拟机起个名字,生成的文件存放的位置
可以自己选择磁盘大小
点击自定义硬件,选择使用ISO映像文件 地址选择我们下载下来的Centos7的iso文件,然后关闭
点击完成,生成一个CentOS7的虚拟机
就可以开启虚拟机了,点击安装Centos7,一系列设置之后重启虚拟机
网关设置
由于启动服务器时未加载网卡,导致ip地址初始化失败
修改网络初始化配置,设定网卡在系统启动时初始化
cd / 进入根目录
cd etc 进入etc目录
cd sysconfig 进入sysyconfig目录
cd network-scripts 进入network-scripts
vi ifcfg-ens33 编辑ifcfg-ens33文件
i 进入编辑模式
esc 退出编辑模式
:wq 保存
修改ONBOOT=no为yes,然后右键CentOS7--电影---重新启动客户机
192.168.158.128
安装SSH连接工具
putty secureCRT xshell finalshell
此处安装finalshell:SSH工具 SSH客户端
下载完成后打开,点击上面的软件夹图标
选择ssh连接
单机快速连接
3.Linux常用命令
常用命令初体验
ls 查看当前目录下的内容
pwd 查看当前所在目录
cd [目录名] 切换目录
touch [目录名] 如果文件不存在,就新建文件
mkdir [目录名] 创建目录
rm [目录名] 删除指定文件
如果遇到乱码,修改Linux编码即可:
echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile
文件目录操作命令
ls
作用:显示指定目录下的内容
语法:ls [-al] [dir]
ls -a 显示隐藏文件
ls -l 将文件的信息详细列出来----简写ll
dir:指定目录
cd
作用:切换当前工作目录
语法:cd [dirName]
cd ~ 表示当前用户的home目录
cd . 表示当前所在目录
cd .. 表示目前目录位置的上级目录
cat
作用:显示文件内容,-n 由1开始对所有输出的行数编号
语法:cat [-n] fileName
more
作用:以分页形式显示文件内容
语法:more fileName
eg:more /etc/profile 回车键向下滚动一行,空格键向下滚动一屏,b返回上一屏,q或者ctrl+c退出more
tail
作用:查看文件末尾的内容
语法:tail [-f] fileName f:动态读取 0 10 20 30....
mkdir
作用:创建目录
语法:mkdir [-p] dirName
-p:确保目录名称存在,不存在的话就创建一个
rmdir
作用:删除空目录
语法:rmdir [-p] dirName
-p:当子目录被删除后父目录为空目录的话,则一起删除
拷贝移动命令
cp
作用:用于复制
语法:
打包压缩命令
文本编辑命令
查找命令
4.Linux软件安装
软件安装方式
二进制发布包安装
软件已经针对具体平台编译打包发布,只要解压修改配置即可
rpm安装
软件已经按照redhat的包管理进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
yum安装
一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
源码编译安装
软件以源码工程的形式发布,需要自己编译打包
安装jdk
步骤:
1.在jdk官网,下载jdk的二进制发布包并上传到Linux jdk-8u333-linux-x64.tar.gz
2.解压安装包,命令为:tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local
3.配置环境变量,使用vim命令修改 vi /etc/profile文件,在文件末尾加入配置
JAVA_HOME=/usr/local/jdk1.8.0_333
PATH=$JAVA_HOME/bin:$PATH
4.重新加载profile文件,命令为:source /etc/profile
5.检查安装是否成功,命令为:java -version
配置成功
安装Tomcat
步骤:
1.下载Tomact二进制发布包并上传到Linux
2.解压安装包,命令为:tar zxvf
3.进入Tomcat的bin目录启动服务,命令为:sh startup.sh或者./startup.sh
验证是否启动成功:
查看启动日志
more /usr/local/apache-tomcat-9.0.64/logs/catalina.out
查看进程
ps -ef | grep tomcat
输入 192.168.158.128:8080测试是否能进入tomcat启动页面,由于Linxu的防火墙默认时开启的,所有无法访问
防火墙操作:
查看防火墙状态 systemctl status firewalld或者firewall-cmd --state
暂时关闭 永久关闭防火墙 systemctl stop firewalld//systemctl disable firewalld(不推荐)
开启防火墙 systemctl start firewalld
开发 关闭指定端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
立即生效(开发关闭端口后让他立即生效)firewall-cmd --reload
查看开发的端口 firewall-cmd --zone=public --list-ports
停止Tomcat服务
1.运行tomcat的bin目录提供的shutdown.sh
sh shutdown.sh或者./shutdown.sh
2.结束tomcat进程
查看tomcat进程 获得进程号,执行命令结束进程 kill -9 进程号 -9表示强制结束
安装Mysql
步骤:
1.检测当前系统中是否安装MySql数据库
rpm -qa 查询当前系统安装的所有软件
rpm -qa | grep mysql 查询当前系统是否安装名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统是否安装名称带mariadb的软件
CentOS7自带mariadb,Mysql与mariadb冲突
2.检测出有mariadb,删除冲突软件
rpm -e --nodeps 软件名称
3.下载mysql安装包,将mysql安装包上传到Linux并解压
安装顺序:
8.0版本mysql
rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
yum install openssl-devel -y
rpm -ivh mysql-community-devel-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
yum install net-tools
yum install -y perl-Module-Install.noarch
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-debug-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-debuginfo-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.29-1.el7.x86_64.rpm
重新安装5.7版本
rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-devel-5.7.37-1.el7.x86_64.rpm
对现有软件及系统内核进行升级:yum update
4.启动mysql
查看mysql状态 systemctl status mysqld
启动mysql systemctl start mysqld
开启启动mysql服务 systemctl enable mysqld
查看已启动的服务 netstat -tunlp/netstat -tunlp | grep mysql
5.登录mysql数据库,查阅临时密码
cat /var/log/mysqld.log | grep password
6.登录mysql,修改密码,开放访问权限
mysql -uroot -p
set global validate_password_length=6; 设置密码最低长度
set global validate_password_policy=LOW; 设置密码安全等级
set password = password('123456'); 设置密码grant all on *.* to 'root'@'%' identified by '123456'; 开启访问权限
flush privileges; 权限刷新
7.测试mysql数据库是否正常工作 show databases
使用navicat连接mysql(linux必须开发3306端口,否则失败)
安装lrzsz
1.搜索lrzsz安装包 yum list lrzsz
2.使用yum命令在线安装 yum install lrzsz.x86_64
5.项目部署
手动部署
1.在IDEA中开发springboot项目并打包成jar包
2.上传jar包到Linux
3.java -jar 包名 启动springboot项目,确认8080端口对外开放
4.访问项目
5.改为后台运行springboot,并将日志输出到日志文件
eg:nohup java -jar helloworld.jar &> hello.log
退出终端不影响程序的运行,并将日志输出到hello.log,通过more hello.log查看
6.停止springboot项目,查看程序进程号,然后kill -9 进程号结束程序
通过Shell脚本自动部署项目
1.在Linux中安装Git
yum list git 列出git安装包
yum install git 在线安装git
git clone 克隆地址 使用gi克隆代码
2.在Linux中安装Maven
tar -zxvf maven安装包
vim /etc/profile 修改配置文件,在末尾添加如下配置
export MAVEN_HOME=/usr/local/apach-maven-3.8.6
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
在/usr/local创建repo文件夹
vim /usr/local/apache-maven-3.8.6/conf/settings.xml 修改配置文件
添加<localRepository>/usr/local/repo</localRepository>
3.编写Shell脚本
4.为用户授予执行Shell脚本的权限
5.执行Shell脚本