目录
Linux
1、配置linux的环境 2、熟悉linux的命令 3、在linux下安装软件 4、将项目部署到linux
第一章
问题1:什么是linux? 答:linux它是以unix为内核的一个操作系统
1、配置Linux环境
分类
linux系统的分类: 第一种分类方式:按是否有图形化界面 1、图形化界面版:与windows一样,可以用鼠标进行操作 2、服务器版:与dos系统一样,没有图形化界面,所有操作要过命令完成 @@@@@@我们主要是学习服务器版 第二种分类方式:根据原生程度,又分为两种: 1)内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号 2)发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本 @@@@@@我们主要是使用linux发行版 (centos) centos又分为: 6.x,7.x,8.x @@@@@我们主要学习centos7.x (只有7.x以上的版本才使用docker) 我们要学习的版本是: centos 64位 7.x的服务器版
安装
如何安装linux? 我们可以安装一个虚拟机软件,在虚拟机软件中可以安装一台或者多台虚拟机,每一台虚拟机就相当一台电脑 目前比较流行的虚拟机软件有两种: 1、VMware(威睿)公司的虚拟机软件,功能强大,收费产品 2、VitrualBox 虚拟机软件 Oracle公司的虚拟机软件,免费商品
VMware
@@@@@@@@@@@@我们主要使用VMware (我们使用 16.x) 在安装linux系统时,必须开启bios系统的虚拟化技术 登录linux 用户名:root 密码:123456 查看linux的ip地址 windows:ipconfig linux:ifconfig 建议Linux手动启动
目录结构
linux的目录结构 重点关注四个目录即可 etc:存放系统配置文件的目录 usr:它是文件共享区,用户在linux下安装的所有软件,都必须安装在 usr/local目录中 home:它是当前用户的根目录 root:它是超级用户的根目录
2、基本命令
@@@@@@@@@@查看Ip地址 ifconfig ip addr @@@@@@@@@@查看当前目录的文件 (该命令无法查询隐藏文件) ls @@@@@@@@@@清空屏幕内容 clear
第三方连接工具
默认情况下,在linux服务器执行命令,只能在控制台中写,但这样不方便,实际使用时,我们会使用一个第三方工具连接linux ssh工具即可连接
路径相关命令
与路径相关的命令: pwd 查看当前的完整路径 cd / 返回当前用户的根目录 cd .. 返回上一级目录 cd ../.. 返回上一级的上一级目录 cd /d113 进入根目录下的d113目录 cd d113 进入当前目录下的d113目录 cd /d113/a/b cd d113/a/b
区分文件和目录
在linux系统中,文件的后缀名没有任何作用,可以省略不写 @@@@@@@在linux系统中,如何区分是普通文件还是目录 区分的方式有两种: 方式1:看文件的颜色 蓝色-----------------目录(文件夹) 黑色 ----------------普通文件 浅蓝色----------------系统文件 方式2:通过ll命令,查看文件详情 以d开头---------------目录 以-开头---------------普通文件 以l开头---------------系统文件
与目录相关命令
与目录(文件夹)相关的命令 mkdir d113 ----------新建名为d113的目录 mkdir /usr/local/d113-----------在根目录下的usr的local目录下,新建一个d113 (要求usr/local要存在) cp /d113 -r /d115 ----------将根目录下的d113目录复制一份,复制到根目录下,名称为d115 -r 它表示复制目录时,同时复制里面的内容,必须指定 cp /usr/local/d113 -r /usr/local/d115 复制 rm d115 -rf ---------删除目录,同时删除里面的内容 mv d113 d114 ---------将当前目录下的d113目录,移动到d114目录中 mv /usr/local/d113 /usr/local/d114 移动 重命名目录 mv d113 d114 如果d114目录存在,就表示,将d113移动到d114目录中 如果d114目录不存在,就表示,将d113目录重命名为d114
与文件相关命令
与文件相关的命令 (在linux系统中,文件的后缀名没有任何作用,只是为了让我们方便识别文件) touch abc.txt -------------在当前目录下新建一个名为abc.txt的文件 cat abc.txt ---------------查看文件的内容 rm abc.txt -rf -------------删除文件 rm *.txt -rf ---------------删除所有以txt结尾的文件 rm *.txt *.jpg -rf----------同时删除多种文件 rm a.txt b.jpg -rf----------同时删除多个文件 rm * -rf -------------------删除当前目录下的所有文件(不要在系统目录下执行该命令) mv /usr/local/d114/abc.txt /d113 --------移动文件 mv *.txt /d113 ---------------将当前目录下所有以txt结尾的文件,移动到/d113目录 mv msg.txt message.txt--------将msg.txt重命名为message.txt
快捷键
文件名称补全的快捷键: tab 使用快捷键的前提条件:根据输入的名称,可以找到一个唯一文件时,就会自动补全
3、编辑文件
编辑文件: vi 步骤: 1、使用 vi开始编辑文件 vi msg.txt 2、按下字母i进入编辑模式 3、按esc键,退出编辑模式,按:进入到底行模式 4、如果要保存对文件的修改,在:后面输入wq回车即可 5、如果不想保存修改,在:后面输入q!回车即可 @@@@@@@@@注意:如果非正常退出,就会生成一个临时文件,如果有临时文件存在,之前的文件就无法再次编辑 1、查看产生的隐藏文件 ls -a 2、删除临时文件 rm -rf .xxx
乱码
默认情况下,在ssh工具中文信息,显示时,将会是乱码,原因是: linux它的编码格式是:utf-8 ssh它的编码格式是:gbk 由于两种编码不统一,将会导致中文乱码,由于ssh工具修改编码不方便,我们一般 将linux编码改为gbk 步骤: 1、修改配置文件 vi /etc/locale.conf 2、修改编码 LANG="zh_CN.GBK" 3、重启linux
第二章
1、linux的基本命令 2、在linux下安装软件 3、将项目部署到linux下运行 4、nginx的配置及使用
1、基本命令
用户名:root 密码:123456
1、查看当前目录的文件
ls ----------------查看普通文件,这个命令查看不了隐藏文件 ls -a -------------查看所有文件,包含隐藏文件 @@@@在linux下所有隐藏文件都是以.开头 ll ----------------以列表的方式查看文件,这个命令查看不了隐藏文件 ll -a ----------------以列表的方式查看文件,包含隐藏文件
2、Linux下的文件后缀名没有用
区分:
方式1:看颜色 蓝色:文件夹(目录) 黑色:普通文件 浅蓝色:系统文件 方式2:以列表的方式查看,看文件的第1个符号 d开头:文件夹(目录) -开头:文件 l开头:系统文件
3、操作路径
cd 目录名 -----------------进入到当前目录下的指定目录中 cd 目录名1/目录名2 cd /目录名 -----------------进入到根目录下的指定目录中 cd / -----------------------返回根目录 cd ..-----------------------返回上级目录 pwd ------------------------查看当前所在路径
4、操作目录
新建目录: mkdir 目录 移动或者是重名目录 mv d113 d114 如果d114目录存在,该命令表示将d113移动到d114目录中 如果d114目录不存在,就表示将d113重命名为在d114 复制目录 cp d113 -r d116 cp d113 d116 -r 将d113目录包含里面的内容复制一份,名称为d116 -r:表示同时复制里面的内容 删除目录: rm -rf 目录名
5、操作文件
新建文件: touch 文件名 touch msg.txt 移动或者是重名文件 mv msg.txt abc 如果abc是一个目录名,就表示要把msg.txt文件移动到abc目录中 如果abc目录不存在,就表示将msg.txt重命名为abc 复制文件 cp abc aaa 删除文件 rm -rf aaa rm -rf aaa abc rm -rf *.txt rm -rf *.txt *.jpg rm -rf * --------------这个命名要慎重使用,不要在系统目录下使用 查看文件中的内容 cat 文件名
6、编辑文件
1、使用vi打开要编辑的文件 vi msg.txt 2、按下字母i进入到编辑模式 3、编辑内容 4、如果要保存退出 4.1、按esc退出编辑模式 4.2、按 :wq回车 5、如果不保存退出 5.1、按esc退出编辑模式 5.2、按 :q!回车 如果编辑文件时,非正常退出,将会产生临时文件,在临时文件删除之前,该文件不能再次编辑 临时文件是一个隐藏文件,必须使用 ls -a才能查看 rm -rf .xxxx
7、查看进程
在linux下查看进程(查看哪些程序正在运行) ps -ef 管道符 | 作用:将查询到的结果当作数据源继续筛选数据 例如: ps -ef | grep tomcat -------------查看tomcat的进程 例如: ps -ef | grep mysql -------------查看mysql的进程 例如: ps -ef | grep redis -------------查看redis的进程 在linux下关闭一个正在运行的程序(一般是通过杀死进程的方式关闭) kill -9 进程号
8、解压与压缩
windows中常见压缩文件的格式: *.rar *.zip linux中的压缩文件格式有三种: *.tar *.gz *.tar.gz
压缩文件(不重要)
tar -cvPf aaa.tar.gz a.txt b.txt 将当前目录下的a.txt,b.txt打包成一个压缩文件,名为:aaa.tar.gz tar -cvPf aaa.tar.gz * 将当前目录下的所有文件打包成一个压缩文件,名为:aaa.tar.gz
解压缩(非常重要)
@@@@@解压缩到当前目录中 tar -xvPf 压缩文件名 tar -xvPf aaa.tar.gz 将指定的压缩文件,解压到当前目录中 @@@@@解压缩到指定目录中 tar -xvPf 压缩文件名 -C 指定的路径 tar -xvPf aaa.tar.gz -C /usr/local/d114
2、Linux下安装软件
windows下执行文件的后缀名: *.exe linux下执行文件的后缀名:*.rpm
1、查看是否安装指定软件
rpm -qa | grep 软件名称 例如:rpm -qa | grep mysql 例如:rpm -qa | grep mariadb
2、卸载软件
rpm -e --nodeps 软件的名称 例如:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3、安装软件
rpm -ivh 软件名
4、安装jdk(1.8版本)
@@@@@@@@@@@@@@在linux安装jdk (安装1.8的版本) 1、在windows中下载linux版本的jdk 2、在linux的根目录下,创建一个名为d113的目录,用于保存从windows发布到linux的软件 3、将软件从windows发布到Linux中的/d113目录中 4、在/usr/local目录下,创建一个目录名为d113, 所有软件都安装到该目录下 usr:它是linux系统的文件共享区,所有软件必须安装在 /usr/local目录 5、解压缩文件到 /usr/local/d113目录中 tar -xvPf /d113/jdk-8u161-linux-x64.tar.gz -C /usr/local/d113 6、配置环境变量 注意:配置之前,先备份一份 cp /etc/profile /d113 配置环境变量 1、vi /etc/profile 2、按字母i进行编辑模式 3、在文件中增加一段配置 @@将光标向下移动,然后done与unset标签之间,加入一段环境变量配置 #set java environment JAVA_HOME=/usr/local/d118/jdk1.8.0_161 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH 4、保存退出 7、重启配置 source /etc/profile-----------------该命令执行后,没有任何提示 8、查看jdk是否配置好 java -version
5、安装tomcat
@@@@@@@@在linux系统下安装tomcat 1、下载linux版的tomcat 2、将tomcat发布到linux下 /d113目录中 3、将/d113下的tomcat解压缩到/usr/local/d113目录中 tar -xvPf /d113/apache-tomcat-7.0.57.tar.gz -C /usr/local/d113/ 4、进入/usr/local/d113目录,将apache-tomcat-7.0.57重命名为tomcat mv apache-tomcat-7.0.57 tomcat 5、启动tomcat 进入tomcat/bin执行下列命令: ./startup.sh 启动tomcat 6、默认情况下,linux只对外开放22端口,如果要访问其他端口,必须在linux的防火墙注册才能使用(只需要注册一次即可) A、在linux的防火墙中注册8080端口(注册一次,永久有效) firewall-cmd --zone=public --add-port=8080/tcp --permanent B、重启linux防火墙规则列表 firewall-cmd --reload 7、此时即可在windows中访问linux下的tomcat http://linux的ip:8080 http://192.168.47.128:8080/ 8、停止tomcat 方式1:杀死进程 1、查看tomcat进程号 ps -ef | grep tomcat 2、杀死进程 kill -9 1781 方式2:进入 tomcat/bin目录执行命令 ./shutdown.sh
3、部署项目到Linux
@@@@@@@@@将项目发布到linux下的tomcat运行 在linux下的tomcat中发布项目时,服务器不用停止 1、在windows系统中,将项目打成一个war包 2、将打好的war包,部署到linux下/usr/local/d113/tomcat/webapps目录下即可 放入的war会自动解压缩
1、安装mysql
@@@@@@@在linux下安装mysql 安装有两种方式: 方式1:使用安装包安装(步骤略多) ----目前采用第一种方式 方式2:使用docker容器镜像安装
安装
1-12
1、下载Linux版的mysql 2、发布到Linux下的/d113目录中 3、在/usr/local/d113目录下新建mysql目录 mkdir /usr/local/d113/mysql 4、将/d113下的Mysql解压缩到/usr/local/d113/mysql目录中 tar -xvPf /d113/mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar -C /usr/local/d113/mysql/ 5、进入/usr/local/d113/mysql目录 cd /usr/local/d113/mysql 6、查找系统是否安装了mariadb文件,必须删除后mysql才能安装成功 rpm -qa | grep mariadb 7、卸载软件 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 8、安装软件 1、rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm (ok) 2、rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm (ok) 3、rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm (ok) 4、rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm (ok) 5、rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm (error) @@@@@@@失败原因,需要联网安装三个插件 9、联网安装三个插件 (错误信息显示,缺少net-tools.x86_64,libaio.x86_64,perl.x86_64三个依赖,使用yum安装即可) yum -y install perl.x86_64 yum install -y libaio.x86_64 yum -y install net-tools.x86_64 10、重新执行之前失败的步骤 rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm 11、启动Myql systemctl start mysqld -------------启动mysql systemctl enable mysqld-------------加载Mysql服务 systemctl daemon-reload-------------mysql在Linux开机自动启动 12、查看Mysql的登录密码(只能在第一次登录时使用,是一个隐藏文件) grep 'temporary password' /var/log/mysqld.log 我的初始密码: rYKgbTO!d4?l
13-16
13、登录 方式1: mysql -u root -p 回车 然后:粘贴密码即可(密码不显示) 方式2:mysql -u用户名 -p密码(连在一起) 14、修改密码策略 默认情况下,系统要求密码至少要有8位,至少包含:数字,大写字母,小写字母,特殊符号 为了密码可以简单一些,我们需要更改密码策略 A、指定密码策略为任意密码都可以 set global validate_password_policy=0; B、指定密码长度为任意长度 set global validate_password_length=1; C、设置新的密码 set password=password('123456'); @@@测试密码是否修改成功,可以先退出 exit 15、允许mysql远程连接 本地连接: jdbc:mysql://localhost:3306/mysql 远程连接: jdbc:mysql://192.168.233.137:3306/mysql @@@@@@要授权mysql允许通过ip地址远程访问 @@@@@@授权mysql允许远程访问的命令是mysql的命令,并不是linux的命令,所以,要先登录mysql 远程连接时的用户名 远程连接时的密码 A、grant all privileges on *.* to 'root' @'%' identified by '123456'; B、flush privileges; 16、在防火墙注册3306端口 (@@@@@@注意:该命令是linux的命令,不是mysql的命令,所以执行前要先退出mysql) 退出mysql: exit A、在linux的防火墙中注册3306端口(注册一次,永久有效) firewall-cmd --zone=public --add-port=3306/tcp --permanent B、重启linux防火墙规则列表 firewall-cmd --reload