从linux安装到完整项目部署到项目运行(全流程)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: linux是一般用来部署项目。安装linux操作系统,一般可以采用云服务器,和vmware软件虚拟机。前者需要购买,后者可以使用破解版。这里使用的是云服务器。[阿里云](https://account.aliyun.com/)(价格相对便宜,仅供学习使用,其它使用途径,买贵的)

linux介绍

linux是一般用来部署项目。
安装linux操作系统,一般可以采用云服务器,和vmware软件虚拟机。前者需要购买,后者可以使用破解版。这里使用的是云服务器。阿里云(价格相对便宜,仅供学习使用,其它使用途径,买贵的)

ECS购买配置

  1. 地址: https://account.aliyun.com/
  2. 进入控制台点击创建实例
  3. 付费模式:随意选择
  4. 地区:选择最近的
  5. 实例规格: 1 cpu 1G内存 ecs.t5-lc2m1.nano 足够, 注意:一般情况不要打开无性能约束模式,好像会收费。突发性性能的实例,效果一般。
  6. 镜像:选择centos,版本7,64位,注意镜像市场的配置,可以配置tomcat,mysql,javajdk,ftp,但是新手,就不要从这里选择
  7. 其它配置默认点击购买即可
  8. 购买之后,重设实例密码
  9. 上述步骤操作成功,可以看到实例里面有一个公网ip,以后就是通过此 ip 访问 ECS在这里插入图片描述

使用secureCRT(可以直接使用xshell免配置)

  1. 下载地址:这里不提供啦
  2. 该软件作用:相当与linux客户端,操作linux
  3. 连接linux ,username:root, 密码:llinux实例密码,默认端口号:22,hostname:linux公网ip。protocol:SSH2,其它皆为默认(端口号:该端口ECS云服务器安全组里默认开放的)

在这里插入图片描述4. 最后重置实例即可,重置才可生效在这里插入图片描述

linux目录结构

系统启动必须:

/boot:存放的启动**Linux 时使用的内核文件,包括连接文件以及镜像文件**。
/etc:存放所有的系统需要的**配置文件和子目录列表**,更改目录下的文件可能会导致系统不能启动。
/lib:存放**基本代码库**(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

/bin:**存放着最常用的程序和指令**
/sbin:**只有系统管理员能使用的程序和指令。**
(super bin)

外部文件管理:

/dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

/run:是一个**临时文件系统,存储系统启动以来的信息**。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
/tmp:这个目录是用来**存放一些临时文件**的。

账户:

/root:**系统管理员的用户主目录**。
/home:**用户的主目录,以用户的账号命名的(下面存放的是linux用户目录)**。
/usr:**用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录(local/存放tomcat)**。
/usr/bin:系统用户使用的应用程序与指令。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。

运行过程中要用:

/var:**存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)(程序运行的日志在var/log/软件.log下)**。
/proc:**管理内存空间!虚拟的目录**,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

/opt:默认是空的,我们安装额外软件可以放在这个里面。
/srv:存放服务启动后需要提取的数据(不用服务器就是空)



启动secureCRT通过linux命令操作linux

1.ls 列出当前目录下的所有文件或文件夹
2.ls -h 列出目录/文件,并显示其权限

1.前面十个位置,第一个代表:目录/文件 ,剩下的9个,三个为一组,分别表示:可读,可写,可执行,没有rwx,可以用" - "表示没有权限。
2.第1-3确定属主(该文件的所有者,拥有的权限),第4-6同组用户所,拥有的权限,第7-9位,其它用户所拥有的权限
3.剩下的 属于,所属用户,大小,创建日期,文件名等

在这里插入图片描述

4.pwd:查看当前目录
5.mkdir -p /test/abc : 创建abc目录,-p 如果父目录test不存在,则创建
6.touch tes.txt :创建文件
7.rm -rf /test/abc 递归强制删除目录
8.tail -n 20 /var/log/mysqld.log :取出指定文件的最后20条数据
9.cd 目录 :切换目录

  1. 通过vim/vi 编辑工具,编辑文本数据。

    1. 按下i/a表示输入模式。
    2. 退出输入模式按Esc
    3. 保存退出 :wq
    4. 不保存退出 :q!

使用vsftpRush上传文件到linux(使用xftp可以直接上传免配置)

linux客户端(secureCRT)上操作:

yum ( Yellow dog Updater, Modified)是一个软件包管理器
yum 语法:
1.yum [options] [command] [package ...]
2.options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
3. command:要进行的操作。
4.package操作的对象。
yum常用命令
yum check-update 列出所有可更新的软件清单
yum install 包名 安装软件包
yum list 包名* 列出可安装的软件包列表
yum search 查找软件包
yum remove 包名 删除软件包

1.vsftpd服务器安装: yum install vsftpd -y
2.systemctl start vsftpd.service 启动
3.systemctl start vsftpd.service 查看vsftpd软件状态
4.vsftpd服务器启动的端口是21 通过netstat -anp | grep 21 命令查看 端口号21的程序的在线情况

linux netstat命令用来查看网络状态
-a表示在线的所有socket(socket实质是计算机间的一种通信)
-n通过ip查看
-p表示正在使用的程序
netstat -anp 查看所有在线程序和端口号的使用情况

linux grep用来查找内容包含 字符串的文件
grep 21

5.为vsftpd服务器创建一个专门的linux用户

mkdir /home/ftptest 创建ftp用户目录
useradd -d /home/ftptest -g ftp -s/sbin/nologin ftptest 创建一个用户 并指定其不能登录
-d <登录目录> 指定ftptest登入的用户
-g <组名 > 指定用户所属组
-s 用户登录的shell
用户名 ftptest

6.设置用户目录权限

chown -R ftptest /home/ftptest 修改该目录的属主为ftptest
-R :指定目录下的所有文件
chmod -R 777 /home/ftptest 修改指定目录 读写执行 权限
(rwx,r分数是4,w分数是2,x分数是1,无权限-分数是0 累加为7+7+5)权限为775

7.设置密码 : passwd 用户名 回车即可
8.配置用户

  1. vi /etc/vsftpd/vsftpd.conf

修改为anonymous_enable=NO 不允许匿名登入(匿名登入不安全)

chroot_list_enable=YES

(default follows)

chroot_list_file=/etc/vsftpd.chroot_list 将#号全部去掉

  1. vi /etc/vsftpd/chroot_list 增加被要被限制的用户名(我这里是ftptest)
  2. vi /etc/vsftpd/vsftpd.conf 最后面加一行 allow_writeable_chroot=YES

这样限制该linux用户访问其它目录,只允许对指定目录(/home/ftptest)的rwx

9.配置vsftpd服务器端口

该服务器有两个端口,一个是21端口 ,另一个是传输端口

  1. vi /etc/vsftpd/vsftpd.conf 添加三行开放传输端口

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30010

  1. 在ECS服务器 安全组规则中分别添加这两个端口,这样vsftprush客户端就可以访问vsftp服务器了

在这里插入图片描述
10.用户鉴权解决

  1. vi /etc/pam.d/vsftpd

注释掉/etc/pam.d/vsftpd文件里这一行:

auth required pam_shells.so

这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器.

  1. vi /etc/shells

在/etc/shells文件里面增加一行:
/sbin/nologin
这样允许不能登录系统的用户通过鉴权

11.安装vsftprush客户端

  1. 安装地址:百度有,这里小白不提供了

2.建立与linux中 vsftpd服务器的连接
主机地址:就是linux公网ip
账户密码:之前新建的

在这里插入图片描述
以上步骤走完,需要重启ECS服务器

javajdk安装

yum -y install java-1.8.0-openjdk.x86_64
java -version 测试
出现下图,表示成功

在这里插入图片描述

linux mysql安装

https://www.cnblogs.com/hujiapeng/p/9124298.html

1.注意linux对mysql存在大小写问题
配置方法:

1.vi /etc/my.cnf
2.在my.cnf中找到【mysqld】下面加上 lower_case_table_names=1
3.重启mysqld就行了

1.问题:如果修改之后,无法启动,报错Job for mysqld.service failed because the control process exited with error...。可能是你之前安装mysql时,并初始化过mysql数据库。只需要重新删除
这一行,即可登入

lower_case_table_names=1

但是mysql大小写问题依旧存在,解决方案:

systemctl stop mysqld.service
然后删除mysql数据 rm -rf /var/lib/mysql
重新执行上面1.2.3步骤

linux tomcat8安装

1.点击一下连接,下载
Tomcat8 tar

2.secureCRT客户端

systemctl start vsftpd.service 启动
systemctl status vsftpd.service 查看状态
cd /tmp 切换到临时目录

3.通过vsftprush客户端上传,刚才下载的包

1.下载的数据应该是在 ftptest 指定的登入目录 /home/ftptest下
对下载的tar解压 tar -xzf apache-tomcat-8.5.23.tar.gz
2.cd / 切换根目录
4.cp /home/ftptest/ apache-tomcat-8.5.23 /tmp 复制tomcat到tmp目录
5.mkdir /usr/local/tomcat
6.mv apache-tomcat-8.5.23. /usr/local/tomcat

  1. /usr/local/tomcat/apache-tomcat-8.5.23/apache-tomcat-8.5.23/bin/startup.sh 启动tomcat

在这里插入图片描述
表示启动成功
4.查看8080端口情况

netstat -anp | grep 8080

看是否处于监听状态

5.部署web项目,有好几种部署方式
详情看这里https://blog.csdn.net/m0_37505854/article/details/79647963
由于我的是maven项目,直接放到webapps下就行了

6.tomcat服务器已经启动,接下来就是,在linux安全组规则中开放 8080端口了,做法和开放vsftpd服务器端口方法一样

linux tomcat中部署maven项目

1.将当前的maven项目打成一个war包
在这里插入图片描述
2.启动secureCRT

  1. systemctl start mysqld.service 启动mysql

systemctl statu mysqld.service 查看状态

  1. systemctl start vsftpd.service 启动vsftpd服务器 然后查看状态
  2. /usr/local/tomcat/apache-tomcat-8.5.23/bin/startup.sh 启动tomcat
  3. 登入vsftprush客户端,连接之后,将war包上传即可
  4. 将/home/ftptest/项目war 移到 tomcat/webapps下 即可

从linux安装 -》完整项目部署 -》 项目运行

1.ECS服务器购买
2.linux客户端(secureCRT)下载,配置
常用linux操作
3.vsftp服务器安装,
4.创建访问vsftp服务器的专门linux账户(useradd)(限制专用客户端访问),设置密码,为账户设置目录属主chown,chmod账户对应目录的权限
5.专门配置该用户,在svftpd的配置文件中 ,设置不许匿名登入linux,限制用户访问其它目录,一旦限制该用户访问,该用户的读写便失效了,要在vsftp配置文件中,设置用户对vsftp文件写的权限
6.安全组规则中配置vsftp端口,下载vsftprush客户端
7.下载mysql ,jdk,tomcat
8.部署完整的maven项目到tomcat/webapps下
9.项目运行
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
77 20
|
2天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
9天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
26 2
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
54 5
|
20天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
1月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
194 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
107 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
377 6