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

本文涉及的产品
云服务器 ECS,u1 2核4GB 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
简介: 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.项目运行
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
17小时前
|
NoSQL Java Linux
linux 安装 neo4j简介
Neo4j是高性能NoSQL图形数据库,利用图结构存储数据。推荐使用JDK 11配合Neo4j 3.x版本。下载3.5.9版,通过`curl`命令在Linux上获取tar.gz文件,然后解压。配置`neo4j.conf`,调整内存设置,开启远程访问。执行`./bin/neo4j start`启动,通过`http://服务器IP:7474`访问,默认凭据是username: neo4j, password: neo4j,登录后应更改密码。
8 0
|
19小时前
|
Linux 数据库
Linux安装达梦数据库达梦数据
Linux安装达梦数据库达梦数据
3 0
|
1天前
|
Linux Shell Python
linux服务器python2升级安装python3.7环境
linux服务器python2升级安装python3.7环境
8 0
|
1天前
|
Linux C++
在Linux上安装CLion
在Linux上安装CLion
9 0
|
1天前
|
监控 网络协议 关系型数据库
如何在Linux中查看正在运行的进程以及过滤特定端口和进程名称
如何在Linux中查看正在运行的进程以及过滤特定端口和进程名称
4 0
|
1天前
|
Java 编译器 Linux
程序技术好文:详解Linux安装GCC方法
程序技术好文:详解Linux安装GCC方法
|
1天前
|
缓存 网络协议 Ubuntu
DHCP的开源实现及其在不同Linux发行版上的安装过程
DHCP的开源实现及其在不同Linux发行版上的安装过程
2 0
|
1天前
|
JavaScript Linux
Linux安装nodejs指定版本
Linux安装nodejs指定版本
4 0
|
2天前
|
消息中间件 监控 数据可视化
Linux安装Kafka图形化界面
Linux安装Kafka图形化界面
13 4
|
2天前
|
消息中间件 存储 Ubuntu
Linux安装kafka3.5.1
Linux安装kafka3.5.1
10 2