深圳网站网站建设,北京做seo的公司,陕西企业电脑网站制作,手工制作香囊目录 1 Linux简介1.1 不同应用领域的主流操作系统1.2 Linux系统版本1.3 Linux安装1.3.1 安装VMWare1.3.2 安装CentOS镜像1.3.3 网卡设置1.3.4 安装SSH连接工具1.3.5 Linux和Windows目录结构对比 2 Linux常用命令2.0 常用命令#xff08;ls#xff0c;pwd#xff0c;cd#… 目录 1 Linux简介1.1 不同应用领域的主流操作系统1.2 Linux系统版本1.3 Linux安装1.3.1 安装VMWare1.3.2 安装CentOS镜像1.3.3 网卡设置1.3.4 安装SSH连接工具1.3.5 Linux和Windows目录结构对比 2 Linux常用命令2.0 常用命令lspwdcdtouchmkdirrm2.1 文件目录操作命令ls2.2 文件目录操作命令cd2.3 文件目录操作命令cat2.4 文件目录操作命令more2.5 文件目录操作命令tail2.6 文件目录操作命令mkdir2.7 文件目录操作命令rmdir2.8 文件目录操作命令rm2.9 拷贝移动命令cp2.10 拷贝移动命令mv2.11 打包压缩命令tar2.12 文本编辑命令vi/vim2.13 文本编辑命令vim2.14 查找命令find2.15 查找命令grep 3 软件安装3.1 软件安装的方式3.2 安装JDK3.3 安装Tomcat3.3.1 安装3.3.2 验证Tomcat启动是否成功3.3.3 防火墙操作3.3.4 停止Tomcat服务的方式 3.4 安装MySQL3.4 安装lrzsz 4 项目部署4.1 手工部署项目4.2 通过Shell脚本自动部署项目 1 Linux简介 1.1 不同应用领域的主流操作系统 桌面操作系统 Windows (用户数量最多)MacOS (操作体验好办公人士首选)Linux (用户数量少多用于服务器系统少用于桌面系统) 服务器操作系统 UNIX (安全、稳定、付费)Linux (安全、稳定、免费、占有率高)Windows Server (付费、占有率低) 移动设备操作系统 Android (基于Linux、开源主要用于智能手机、平板电脑和智能电视)ios (苹果公司开发、不开源用于苹果公司的产品例如: iPhone、iPad) 嵌入式操作系统 Linux (机顶盒、路由器、交换机)
1.2 Linux系统版本
Linux系统分为内核版和发行版 内核版 由Linus Torvalds及其团队开发、维护免费、开源负责控制硬件 发行版最常用centos 基于Linux内核版进行扩展由各个Linux厂商开发、维护有收费版本和免费 版本
1.3 Linux安装 Linux系统的安装方式 物理机安装: 直接将操作系统安装到服务器硬件上虚拟机安装:通过虚拟机软件安装 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。 常用虚拟机软件 VMWareVirtualBoxVMLite WorkStationQemuHopeddotVoS
1.3.1 安装VMWare
-
1.3.2 安装CentOS镜像
打开安装好的VMWare选择创建新的虚拟机选择典型下一步然后选择稍后安装操作系统下一步勾选Linux系统版本CentOS 7 64位下一步选择路径下一步根据需求分配磁盘空间大小下一步根据需求自定义硬件内存2G处理器2个新CD/DVD下选择使用ISO映像文件并设置路径 然后点击开启此虚拟机ctrlalt快捷键可以鼠标退出虚拟机点击install一直回车知道出现画面可以选择语言为中文设置一下安装位置选择自动配置分区键盘选择最小安装然后开始安装设置用户名密码安装完成后点击重启按钮。
1.3.3 网卡设置
问题由于启动服务器时未加载网卡导致IP地址初始化失败查看IP地址 ip addr
解决修改网络初始化配置设定网卡在系统启动时初始化 进入网络初始化配置后输入i进入编辑状态将ONBOOT设置为yes按ESC键然后输入:wq 再Enter键保存退出 再次查看 设置静态ip 设置完成后重启网络服务systemctl restart network
1.3.4 安装SSH连接工具
SSHSecure Shell建立在应用层基础上的安全协议常用的SSH链接工具 puttysecureCRTxshell推荐finalshell推荐 通过SSH连接工具就可以实现从本地连接到远程的Linux服务器直接运行FinalShell的安装程序完成安装即可
安装完成后连接服务器 遇到问题fianlshell认证失败 解决修改网络配置
1.3.5 Linux和Windows目录结构对比
Linux系统中的目录 /是所有目录的顶点目录结构像一颗倒挂的树
Linux目录介绍
bin存放二进制可执行文件boot存放系统引导时使用的各种文件dev存放设备文件etc存放系统配置文件home存放系统用户的文件lib存放程序运行所需的共享库和内核模块opt额外安装的可选应用程序包所放置的位置root超级用户目录sbin存放二进制可执行文件只有root用户才能访问tmp存放临时文件usr存放系统应用程序var存放运行时需要改变数据的文件例如日志文件
2 Linux常用命令
2.0 常用命令lspwdcdtouchmkdirrm 加粗样式在执行Linux命令时提示信息如果显示为乱码 这是由于编码问题导致只需要修改Linux的编码即可命令如下:echo ‘LANG“en_ US.UTF-8”’ /etc/profile source /etc/profile Linux命令使用技巧
Tab键自动补全连续两次Tab键 给出操作提示使用上下箭头快速调出曾经使用过的命令使用clear命令 或者CtrlL快捷键实现清屏
Linux命令格式
command [-options] [parameter]说明 ● command: 命令名 ● [-options]: 选项可用来对命令进行控制也可以省略 ● [parameter]:传给命令的参数可以是零个、一个或者多个 注意[]代表可选命令名、选项、参数之间有空格进行分隔 2.1 文件目录操作命令ls
作用显示指定目录下的内容语法: ls [-al] [dir] 说明 ● -a 显示所有文件及目录(.开头的隐藏文件也会列出) ● -l 除文件名称外同时将文件型态(d表示目录-表示文件)、权限、拥有者、文件大小等信息详细列出 ● dir 查看指定目录下的文件 注意由于我们使用ls命令时经常需要加入-l选项所以Linux为ls -l命令提供了一种简写方式即ll 2.2 文件目录操作命令cd
作用用于切换当前工作目录即进入指定目录 语法cd [dirName]
特殊说明
● ~ 表示用户的home目录 ● . 表示目前所在的目录 ● ·· 表示目前目录位置的上级目录
举例
● cd··切换到当前目录的上级目录 ● cd~ 切换到当前用户的home目录 ● cd /usr/local 切换到/usr/local目录
2.3 文件目录操作命令cat
作用用于显示文件内容 语法cat [-n] fileName 说明-n代表由1开始对所有输出的行数编号 举例cat /etc/profile 查看/etc目录下的profile文件内容
2.4 文件目录操作命令more
作用以分页的形式显示文件内容 语法 more fileName
操作说明 ●回车键 向下滚动一行 ●空格键 向下滚动一屏. ●b返回 上一屏 ●q或者CtrlC 退出more
举例more /etc/ profile 以分页方式显示/etc目录下的profile文件内容
2.5 文件目录操作命令tail
作用查看文件末尾的内容 语法 tail [-f] fileName 说明 ● -f动态读取文件末尾内容并显示通常用于日志文件的内容输出 举例 tail /etc/ profile 显示/etc目录下的profile文件末尾10行的内容 tail -20 /etc/ profile 显示/etc目录下的profile文件末尾20行的内容 tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示 2.6 文件目录操作命令mkdir
作用创建目录 语法mkdir [-p] dirName 说明 ● -p:确保目录名称存在,不存在的就创建一 个。通过此选项可以实现多层目录同时创建 举例 ● mkdir itcast 在当前目录下建立-一个名为itcast的子目录 ● mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录 若itcast目录不存在,则建立一个
2.7 文件目录操作命令rmdir
作用删除空目录 语法rmdir [-p] dirName 说明 ● -p:当子目录被删除后使父目录为空目录的话则一并删除 举例 ● rmdir itcast 删除名为itcast的空目录 ● rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除 ● rmdir itcast* 删除名称以itcast开始的空目录
2.8 文件目录操作命令rm
作用删除文件或者目录 语法rm [-rf] name 说明 ● -r:将目录及目录中所有文件(目录)逐- -删除,即递归删除 ● -f: 无需确认直接删除
举例 ● rm-r itcast/ 删除名为itcast的目录和目录中所有文件删除前需确认 ● rm-rf itcast/ 无需确认直接删除名为itcast的目录和目录中所有文件 ● rm-f hello.txt 无需确认,直接删除hello.txt文件
2.9 拷贝移动命令cp
作用用于复制文件或目录 语法 cp [-r] source dest
说明 ● -r:如果复制的是目录需要使用此选项此时将复制该目录下所有的子目录和文件
举例 ● cp hello.txt itcast/ 将hello.txt复制到itcast目录中 ● cp hello.txt ./hi.txt 将hello.txt复制到当前目录并改名为hi.txt ● cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下 ● cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下
2.10 拷贝移动命令mv
作用为文件或目录改名、或将文件或目录移动到其它位置 语法 mv source dest
举例 ● mv hello.txt hi.txt 将hello.txt改名为hi.txt ● mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中 ● mv hi.txt itheima/hello.txt 将hi.txt移 动到itheima目录中,并改名为hello.txt ● mv itcast/ itheima/ 如果itheima目录不存在将itcast目录改名为itheima ● mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中
2.11 打包压缩命令tar
作用对文件进行打包、解包、压缩、解压 语法tar [-zcxvf] fileName [files] 包文件后缀为.tar表示只是完成了打包并没有压缩; 包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明 ● -z: z代表的是gzip, 通过gzip命令处理文件, gzip可以对文件压缩或者解压 ● -c: c代表的是create, 即创建新的包文件 ● -x: x代表的是extract,实现从包文件中还原文件 ● -v: v代表的是verbose,显示命令的执行过程 ● -f: f代表的是file, 用于指定包文件的名称
举例
打包 ● tar-cvf hello.tar ./* 将当前目录下所有文件打包打包后的文件名为hello.tar ● tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩打包后的文件名为hello.tar.gz
解包 ● tar -xvf hello.tar 将hello.tar文件进行解包并将解包后的文件放在当前目录 ● tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录 ● tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压, 并将解压后的文件放在/usr/local目录
2.12 文本编辑命令vi/vim
作用vi命令是Linux系统提供的一个文本编辑工具可以对文件内容进行编辑类似于Windows中的记事本 语法 vi fileName
说明 1、vim是从vi发展来的一-个功能更加强大的文本编辑工具在编辑文件时可以对文本内容进行着色方便我们对文件进行编辑处理所以实际工作中vim更加常用。 2、要使用vim命令需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim
2.13 文本编辑命令vim
作用对文件内容进行编辑vim其实就是一个文本编辑器 语法 vim fileName
说明 1、在使用vim命令编辑文件时如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。 2、vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode)插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。
针对vim中的三种模式说明如下
1、命令模式 ● 命令模式 下可以查看文件内容、移动光标(上下左右箭头、gg直接到首行、G直接到最后一行) ● 通过vim命令打开文件后 默认进入命令模式 ● 另外两种模式需要首先进入命令模式才能切换到彼此模式 2、插入模式 ● 插入模式下可以对文件内容进行编辑 ● 在命令模式 下按下[i,a,o]任意一个可以进入插入模式。进入插入模式后下方会出现linsert] 字样在插入模式下按下ESC键,回到命令模式 3、底行模式 ● 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作 ● 在命令模式下按下[: /]任意一个可以进入底行模式 ● 通过/方式进入底行模式后可以对文件内容进行查找 ● 通过:方式进入底行模式后可以输入wq (保存并退出)、q! (不保存退出)、set nu (显示行号)
2.14 查找命令find
作用在指定目录下查找文件 语法 find dirName -option fileName
举例 ● find . -name “.java 在当前目录及其子目录下查找.java结尾文件 ● find /itcast -name“.java” 在/itcast目录及其子目录下查找.java结尾的文件
2.15 查找命令grep
作用从指定文件中查找指定的文本内容 语法 grep word fileName
举例 ●grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置 ●grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
3 软件安装
3.1 软件安装的方式 二进制发布包安装 . 软件已经针对具体平台编译打包发布只要解压修改配置即可 rpm安装 软件已经按照redhat的包管理规范进行打包使用rpm命令进行安装不能自行解决库依赖问题 yum安装 一种在线软件安装方式本质上还是rpm安装,自动下载安装包并安装安装过程中自动解决库依赖问题 源码编译安装 软件以源码工程的形式发布需要自己编译打包
3.2 安装JDK
使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux解压安装包一般安装到/usr/local目录下命令为tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local配置环境变量使用vim命令修改/etc/profile文件,在文件末尾加入如下配置
JAVA_ HOME/usr/1ocal/jdk1.8.0_ 171
PATH$JAVA_ HOME /bin:$PATH重新加载profile文件,使更改的配置立即生效命令为source /etc/ profile 检查安装是否成功命令为java -version
3.3 安装Tomcat
3.3.1 安装
使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux解压安装包命令为tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local进入Tomcat的bin目录cd /usr/local/apache-tomcat-7.0.57.tar.gz/bin启动服务命令为sh startup.sh或者./startup.sh
3.3.2 验证Tomcat启动是否成功
方式一查看启动日志
more /usr/local/ apache-tomcat- 7.0.57/logs/catalina.out
tail -50 /usr/local/ apache-tomcat-7.0.57/logs/catalina.out启动成功 方式二查看进程ps -ef|grep tomcat 启动成功能看到进程否则没有 注意 ps命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息 | ”在Linux中 称为管道符可以将前一个命令的结果输出给后一个命令作为输入使用ps命令查看进程时经常配合管道符和查找命令grep 一起使用来查看特定进程 3.3.3 防火墙操作
查看防火墙状态(systemctl status firewalld或者firewall-cmd --state)暂时关闭防 火墙(systemctl stop firewalld)永久关闭防火墙(systemctl disable firewalld)开启防火墙(systemctl start firewalld)开放指定端口(firewall-cmd --zonepublic --add-port8080/tcp --permanent)关闭指定端口(firewall-cmd --zonepublic --remove-port8080/tcp --permanent)立即生效(firewall-cmd --reload)查看开放的端口(firewall-cmd --zonepublic --list-ports) 注意 1、systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作 2、firewall-cmd是Linux中专门用于控制防火墙的命令 3、为了保证系统安全服务器的防火墙不建议关闭 3.3.4 停止Tomcat服务的方式
方式一运行Tomcat的bin目录中提供的停止服务的脚本文件shutdovn.sh命令为sh shutdown.sh或者./shutdown.sh方式二结束Tomcat进程 查看Tomcat进程获得进程id 执行命令结束进程kill -9 xxxxx 注意kill命令是Linux提供的用于结束进程的命令-9表示强制结束 3.4 安装MySQL
检测当前系统中是否安装MySQL数据库 rpm -qa 查询当前系统中安装的所有软件 rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件 rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
RPM ( Red-Hat Package Manager) RPM软件包管理器是红帽Linux用于管理和安装软件的工具 注意事项如果当前系统中已经安装有MySQL数据库安装将失败。CentOS7 自带mariadb,与MySQL数据库冲突, 卸载mariadb
rpm -e --nodeps 软件名称 #卸载软件
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64将MySQL安装包上传到Linux并解压解压后得到6个rpm的安装包文件
mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql按照顺序安装rpm软件包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25- 1.el7.x86. 64.rpm
rpm -ivh mysql-community-devel- 5.7.25-1.el7.x86 64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7 .x86_ 64.rpm
rpm -ivh mysql-communit-client-5.7.25-1.el7.x86.64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.eI7.x86 64.rpm 说明1:安装过程中提示缺少net-tools依赖使用yum安装 说明2:可以通过指令升级现有软件及系统内核 yum update 启动mysql systemctl status mysqld 查看mysql服务状态 systemctl start mysqld 启动mysql服务 说明可以设置开机时启动mysq|服务避免每次开机启动 mysql systemctl enable mysqld 开机启动mysql服务 netstat -tunlp 或者 netstat -tunlp | grep mysql 查看已经启动的服务 ps -ef | grep mysql 查看mysql进程 登录MySQL数据库查阅临时密码 cat /var/log/mysqld.log 查看文件内容 cat /var/log/mysqld.log | grep password 查看文件内容中包含password的行信息 注意冒号后面的是密码注意空格 登录mysql修改密码开放访问权限
mysql -uroot -p 登录mysql (使用临时密码登录)
#修改密码
set global validate_password_length4; 设置密码长度最低位数
set global validate_password_policyLOW; 设置密码安全等级低便于密码可以修改成root
set password password(root); 设置密码为root
#开启访问权限
grant all on *.* to root% identified by 123456;
flush privileges;3.4 安装lrzsz
搜索lrzsz安装包命令为yum list lrzsz使用yum命令在线安装命令为yum install lrzsz.x86_64安装完成后使用rz命令可以上传文件
4 项目部署
4.1 手工部署项目 在IDEA中开发SpringBoot项目并打成jar包maven的package命令 将jar包上传到Linux服务器 先创建目录将jar包上传到该目录下门mkdir /usr/local/app 启动SpringBoot程序java -jar helloworld-0.0.1-SNAPSHOT.jar 检查防火墙确保8080端口对外开放能访问到SpringBoot项目 改为后台运行SpringBoot程序并将日志输出到日志文件 目前程序运行的问题 ● 线上程序不会采用控制台霸屏的形式运行程序而是将程序在后台运行 ● 线上程序不会将日志输出到控制台而是输出到日志文件方便运维查阅信息 nohup java -jar boot工程.jar hello.log 后台运行java -jar命令并将日志输出到hello.log文件 停止SpringBoot程序先查询进程ps -ef | grep java -jar然后结束进程命令kill -9 XXXX
4.2 通过Shell脚本自动部署项目 在Linux中安装Git 使用Git克隆代码 首次登陆可能需要用户密码这个username是gitee的登陆时的用户名一般是手机号、邮箱号 将maven安装包上传到Linux在Linux中安装maven
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/localvim /etc/ profile 修改配置文件加入如下内容
export MAVEN_HOME/usr/local/apache-maven-3.5.4
export PATH$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATHsource /etc/profile
mvn -version
vim /usr/local/apache-maven-3.5.4/conf/settings.xml 修改配置文件内容如下
localRepository/usr/local/repo/localRepository写bootStart.sh脚本文件到Linux中
#!/bin/sh
echo
echo 自动化部署脚本启动
echo echo 停止原来运行中的工程
APP_NAMEhelloworldtpidps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk {print $2}
if [ ${tpid} ]; thenecho Stop Process...kill -15 $tpid
fi
sleep 2
tpidps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk {print $2}
if [ ${tpid} ]; thenecho Kill Process!kill -9 $tpid
elseecho Stop Success!
fiecho 准备从Git仓库拉取最新代码
cd /usr/local/helloworldecho 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成echo 开始打包
outputmvn clean package -Dmaven.test.skiptruecd targetecho 启动项目
nohup java -jar helloworld-0.0.1-SNAPSHOT.jar helloworld.log
echo 项目启动完成 Shell脚本(shell script)是一种Linux系统中的脚本程序。使用Shell脚本编程跟JavaScript、Java编程一样 只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 为用户授权 chmod (英文全拼: change mode)命令是控制用户对文件的权限的命令 Linux中的权限分为读()、写(w)、 执行(x)三种权限 Linux的文件调用权限分为三级:文件所有者(Owner) 、用户组(Group)、其它用户(Other Users)只有文件的所有者和超级用户可以修改文件或目录的权限 要执行Shell脚本需要有对此脚本文件的执行权限如果没有则不能执行 chmod命令可以使用八进制数来指定权限
举例
chmod 777 bootstart.sh 为所有用户授予读、 写、执行权限chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限同组用户和其他用户授予读、执行权限chmod 210 bootstart.sh 为文件拥有者授予写权限同组用户授予执行权限其他用户没有任何权限 注意三位数字分别代表不同用户的权限第1位表示文件拥有者的权限第2位表示同组用户的权限第3位表示其他用户的权限 执行脚本文件 查看日志信息