Linux部署项目

一、Linux介绍

背景:Java项目通常基于windows系统进行开发、服务器部署则是基于Linux

1.1 Linux系统概述
  • Linux是一套免费使用、自由传播的类unix操作系统
  • 支持多用户、多任何、支持多线程和多CPU的操作系统
  • linux通常作为服务器系统使用(windows server也是一个适用于服务器的系统)
1.2 Linux系统的特点
  • 性能比window更稳定(宕机概率比较低)
  • 完全开源,用户可以自由的进行裁剪、灵活性高、使用成本低
  • 技术社区用户多
  • Linux核心防火墙组件性能高、配置简单,保证系统的安全
  • 对于linux提供纯命令行系统(也可以带有桌面),系统开销比windows小的多
  • 综上,Linux比windows更合适用于服务器系统
1.3 Linux系统版本
  • RedHat(RedHat公司发行的Linux版本,效率高、高可扩展、高可靠性)
  • SUSE(德国SUSE公司推出的Linux发行版)
  • DEbian(追求创建自由操作系统,目前有很多的非官方版本,可用性不高)
  • Ubuntu(乌班图,基于DEbian发行版,桌面系统,是一个以桌面应用为主的linux系统)
  • CentOS(基于RedHat源码编译而成,CentOS完全开源)
  • 红旗Linux
  • OS X就是一个Linux系统

二、虚拟机

2.1 如何获得一个Linux系统?
  • 基于硬件安装Linux系统(需要硬件的支持)
  • 安装虚拟机
  • 购买云主机
2.2 虚拟机介绍

通过虚拟机软件在现有的系统资源环境下,独立出一部分系统资源构造出一个独立的系统运行环境,在这个独立的环境下可以安装操作系统

虚拟机
在这里插入图片描述
  • 在windows系统中安装虚拟机软件—VMware Workstation
  • 通过VMware创建虚拟机
  • 在虚拟机中安装CentOS系统
2.3 下载安装VMware

文档:02-VMware workstation.md
链接:http://note.youdao.com/noteshare?id=c19a77888a7d71e2a846c01ac00aaac9&sub=789DFC14569E4914B8EB5A8DBA41E56F

2.4 创建虚拟机

文档:03-CentOS.md
链接:http://note.youdao.com/noteshare?id=3c381e2ea74d0d5cfcc743defa0e942c&sub=AB9601C588C7484BB0F29331F0005756

2.5 克隆虚拟机
  • 停止当前虚拟机

  • 选择虚拟机–管理–克隆–(选择完成克隆)

在这里插入图片描述

  • 修改克隆的副本的mac

    选择克隆的副本–右键–设置–网络适配器–高级–mac地址(生成)–确定

三、云主机

3.1 什么是云主机?

云主机是一种类似VPS主机的虚拟化技术, VPS是采用虚拟软件,VZ或VM在一台主机上虚拟出多个类似独立主机的部分,能够实现单机多用户,每个部分都可以做单独的操作系统,管理方法同主机一样。

3.2 云主机提供商

阿里云

  • 24岁免学生认证可享受学生优惠政策、24岁以上需要学生认证享优惠

  • 需要注册一个阿里云的账号,此账号也是用于对云主机进行管理的账号

  • https://www.aliyun.com/activity/daily/bestoffer

腾讯云

  • 25岁下免学生认证

  • 需要在腾讯云注册一个账号

  • https://cloud.tencent.com/act/campus

3.3 云主机管理系统

阿里云管理平台:https://console.aliyun.com/

在这里插入图片描述
在这里插入图片描述

安全组管理:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、Linux远程终端工具

我们在对远程服务器、云主机进行操作需要通过远程终端来完成。

  • SSH
  • xshell & xftp
4.1 xftp 文件传输管理工具
  • 下载

  • 安装(傻瓜式)

  • 建立与云主机的连接

在这里插入图片描述

4.2 xshell 远程终端
  • 下载
  • 安装
  • 连接连接

五、Linux常用操作指令

服务器的Linux通常是通过指令来完成操作的,所以我们对Linux系统的使用就是学习Linux的常用指令

5.1 Linux常用操作
  • Linux文件系统结构
  • Linux文件管理
    • 目录
    • 文件
  • Linux用户权限
  • Linux软件管理
    • 软件的安装和配置
    • 软件的卸载
5.2 Linux的文件系统结构

Linux系统不同于widnows系统,在Linux系统中是没有盘符的,根路径"/"

[root@theo ~]# cd /
[root@theo /]# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@theo /]# 
目录说明
bin、boot系统文件夹、boot包含系统启动相关的文件
dev、lost+found、proc、run、srv、sys、var系统相关目录
etc系统配置相关的目录(环境变量)
home一般用户所在的文件夹(此目录包含所有普通用户的目录)
lib 、lib64存放系统的依赖库
media媒体(光驱)
mnt挂在(U盘、移动硬盘)
opt、tmp系统的临时文件夹(系统日志)
root超级管理员的目录(root用户)
sbin存储超级管理员可执行的指令文件
usr用户目录,我们通常将软件安装在此目录中
5.3 Linux系统指令语法

指令 [选项] [参数]

  • 指定 决定了当前的动作
  • 选项 可有可无,用于补充指令的功能(对于有些特定的指令,必须给出选项)
    • “-” 短选项,一个字母代表一个选项
    • “–” 长选项,一个单词代表一个选项
  • 参数 指令执行动作所需的数据

man指令 (manual:说明书)

  • man 指令名称
  • 点击Q退出说明书

文档:Linux命令.md
链接:http://note.youdao.com/noteshare?id=b9455f8744c5921ee6c716323c8c1341&sub=D32CB90730044AE4AEA9269DB952FB8B

六、Linux文件管理

6.1 目录操作指令
  • cd 进入/退出指定目录

    • cd 目录名称 进入指定目录

      ##进入到Linux根目录
      cd /
      ##进入到当前的用户目录(root用户进入到/root,普通用户进入到/home)
      cd ~
      ##指定的路径如果是/开头  则表示绝对路径; 如果不加/,则表示当前路径下的相对路径
      cd /usr/local
      ## pwd (print working directory)打印当前目录路径
      pwd
      
    • cd … 退出当前目录

  • ls 列出当前目录下的内容(list directory contents)

    • ls 显示文件列表
    • ls -a 显示目录中包括.开头的所有文件列表
    • ls -l 显示当前目录中文件列表的详细信息
    • ll 作用同“ls -l”,显示文件列表的详细信息
  • mkdir 创建目录

    • mkdir 目录名 在当前目录下创建指定目录
    • mkdir /usr/…/目录名 在指定的目录下创建指定目录
    • mkdir -p 目录A/目录B 创建多级目录
  • rmdir 删除目录,删除空目录

  • rm 删除目录和文件

    • -r recursive 递归
    • -f force 强制
6.2 文件操作指令
  • vivim 创建和修改文件

    • vi (visual) 文本编辑器
    • vim(visual improved) 增强文本编辑器
    • vim操作
      • vim 新文件名 创建并打开这个文件
      • 点击“i”进入编辑状态(a i o)
      • 编辑完成以后点击“esc”退出编辑状态
      • 退出文件
        • :q 未对文件进行修改,退出文件
        • :q! 对文件进行了修改,但不保存修改退出
        • :wq 对文件进行了修改,保存并退出
  • catmoreless 阅读文件

    • cat [-n] 文件名 阅读文件内容(适合小文件)
    • more 文件名 阅读文件内容、可以翻页(点击回车一次翻一行,不支持向上翻)
    • less 文件名阅读文件内容、可以翻页(一次翻一页,可向上翻页)
      • pageDown 向下翻页
      • pageUp 向上翻页
      • q 退出阅读模式
  • grep 查找文件内容

    • grep [-n] 搜索关键字 文件名 从当前文件中搜索指定关键词所在的行
  • find 查找文件

    • find 文件名|目录名 在当前目录下查找文件/目录
    • find 文件名|目录名 目标表目录 在当前目录下查找文件/目录
  • | 管道命令

    • 多个命令的组合
    • |前面指令的输出作为后面指令的输入
    • grep -n Hello a.txt|grep o
  • rm 删除文件

    • rm -rf 文件名
  • cpmv拷贝和移动文件

    • cp 文件 目录 将某个文件拷贝到指定目录
    • mv 文件 目录 将某个文件剪切到指定目录
  • tar 压缩和解压

    • 压缩
      • tar -zcvf 压缩文件名 目标目录/文件
    • 解压
      • tar -zxvf 压缩文件名
    • 指令选项
      • z 指定gzip进行压缩解压
      • c compress 压缩
      • x extract 解压
      • v verbose 显示压缩/解压详细过程
      • f file 文件

七、Linux用户及权限管理

7.1 用户及用户组
  • 用户组

    • 创建用户组: groupadd 新建的用户组名
    • 删除用户组: groupdel 用户组名
  • 用户

    • 创建用户:useradd [-g 用户组名] 用户名 (默认在root用户组)

    • 修改密码:passwd 用户名

    • 删除用户:userdel 用户名

  • 切换用户

    • 切换到普通用户 :su 用户
    • 切换到root用户 :su
7.2 文件权限

在这里插入图片描述

  • 改文件权限
    • chmod 764 文件名

八、Linux系统与进程管理

8.1 查看进程
  • ps -ef 查看系统所有进程

  • ps -ef|grep 关键字 查询与关键字相关的进程

  • lsof -i:3306 根据端口查询指定的进程(CentOS并不是默认包含此命令)

    • 我们可以通过yum install -y lsof安装lsof命令
  • netstat -apn| grep port 也可以实现通过端口号查询进程信息

8.2 强杀进程
  • kill -9 PID 通过进程编号强杀进程
8.3 注销和重启
  • logout 注销
  • reboot重启

九、软件管理相关的指令

9.1 wget指令

wget 就是linux系统中下载资源的指令,用于下载软件的安装包;wget是linux系统自带的下载工具

例如下载mysql安装包:

  • 搜索mysql下载url:http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  • 执行下载: wget url
9.2 rpm指令

rpm(Red-Hat Package Manager) 是Linux系统中的软件包管理工具

  • 查询:rpm -qa|grep 关键字

  • 卸载:rpm -e --nodeps 软件包名

  • 安装:rpm -ivh 安装包.rpm

    rpm -ivh mysql57-community-release-el7-10.noarch.rpm
    
  • 更新:rpm -Uvh 安装包.rpm

9.3 yum指令

yum(YellowDog Updater & Modified)基于RPM包的管理,能够从指定的服务器下载rmp并完成安装;而且可以自动处理依赖关系,一次性安装所有依赖,无需一个一个下载安装。

  • 查询:yum list
  • 卸载:yum remove
  • 更新:yum update
  • 安装:yum install -y rpm|url

十、安装JDK

10.1 下载JDK的tar包
  • https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
10.2 将tar上传到云主机

在这里插入图片描述

10.3 解压tar包
  • tar -zxvf jdk-8u221-linux-x64.tar.gz
10.4 配置环境变量
  • 进入到/etc目录

  • 编辑profile文件,在文件最后添加java环境变量的配置

    export JAVA_HOME=/usr/local/jdk1.8.0_221
    export CLASSPATH=$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
    
10.5 重新加载profile文件
  • 加载/etc/profile

    source /etc/profile
    
10.6 查询JDK版本
  • 执行java -version

在这里插入图片描述

十一、安装MySQL

11.1 下载mysql的rpm安装包
cd /usr/local
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
11.2 通过rpm指令安装rpm文件

rpm安装mysql的rpm包

rpm -ivh mysql57-community-release-el7-10.noarch.rpm

查看安装后mysql文件

[root@theo local]# rpm -qa|grep mysql
mysql57-community-release-el7-10.noarch
11.3 通过yum指令安装mysql服务
yum -y install mysql-community-server
11.4 设置mysql服务开机启动
systemctl enable mysqld
11.5 启动mysql服务
## 启动mysql服务
systemctl start mysqld

## 停止mysql服务
systemctl stop mysqld

## 重启mysql服务
systemctl restart mysqld
11.6 首次登录mysql
## 查找mysql root用户的默认密码
[root@theo ~]# grep 'temporary password' /var/log/mysqld.log
2020-08-14T08:41:15.111338Z 1 [Note] A temporary password is generated for root@localhost: x#tA*O.E)9/,

## 使用root用户登录mysql
[root@theo ~]# mysql -uroot -p
Enter password: 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

## 初次登录需要设置root用户的初始密码
mysql> set password = password('QFEDU123_mysql');
11.7 设置mysql数据库允许远程连接
-- 设置允许以root用户进行远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; 

-- 让修改操作立即生效 
flush privileges;
11.8 在本地通过mysql的可视化工具进行远程连接

十二、安装Tomcat

12.1 下载Tomcat

https://tomcat.apache.org/download-80.cgi

12.2 上传至linux系统 (/usr/local)

12.3 解压tomcat.jar
tar -zxvf apache-tomcat-8.5.57.tar.gz
12.4 启动Tomcat
## 进入tomcat的bin目录
[root@theo local]# cd apache-tomcat-8.5.57/bin
[root@theo bin]# ls
bootstrap.jar       ciphers.bat                   configtest.bat  digest.sh         shutdown.sh      tomcat-native.tar.gz  version.sh
catalina.bat        ciphers.sh                    configtest.sh   setclasspath.bat  startup.bat      tool-wrapper.bat
catalina.sh         commons-daemon.jar            daemon.sh       setclasspath.sh   startup.sh       tool-wrapper.sh
catalina-tasks.xml  commons-daemon-native.tar.gz  digest.bat      shutdown.bat      tomcat-juli.jar  version.bat

## 启动tomcat
[root@theo bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/apache-tomcat-8.5.57
Using CATALINA_HOME:   /usr/local/apache-tomcat-8.5.57
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.57/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_221
Using CLASSPATH:       /usr/local/apache-tomcat-8.5.57/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.57/bin/tomcat-juli.jar
Tomcat started.

十三、web项目部署

在这里插入图片描述

tdown.bat tomcat-juli.jar version.bat

启动tomcat

[root@theo bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-8.5.57
Using CATALINA_HOME: /usr/local/apache-tomcat-8.5.57
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.57/temp
Using JRE_HOME: /usr/local/jdk1.8.0_221
Using CLASSPATH: /usr/local/apache-tomcat-8.5.57/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.57/bin/tomcat-juli.jar
Tomcat started.


## 十三、web项目部署

[外链图片转存中...(img-r8oLSuqU-1597457949038)]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值