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

从linux安装到项目部署到运行

  • linux介绍
    • ECS购买配置
    • 使用secureCRT
    • linux目录结构
    • 启动secureCRT通过linux命令操作linux
    • 使用vsftpRush上传文件到linux
    • javajdk安装
    • linux mysql安装
    • linux tomcat8安装
    • linux tomcat中部署maven项目

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从linux安装到完整项目部署到项目运行(全流程)_第1张图片

使用secureCRT

  1. 下载地址:这里不提供啦
  2. 该软件作用:相当与linux客户端,操作linux
  3. 连接linux ,username:root, 密码:llinux实例密码,默认端口号:22,hostname:linux公网ip。protocol:SSH2,其它皆为默认(端口号:该端口ECS云服务器安全组里默认开放的)
    从linux安装到完整项目部署到项目运行(全流程)_第2张图片4. 最后重置实例即可,重置才可生效从linux安装到完整项目部署到项目运行(全流程)_第3张图片

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.剩下的 属于,所属用户,大小,创建日期,文件名等

从linux安装到完整项目部署到项目运行(全流程)_第4张图片

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 目录 :切换目录
10. 通过vim/vi 编辑工具,编辑文本数据。

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

使用vsftpRush上传文件到linux

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 将#号全部去掉
  2. vi /etc/vsftpd/chroot_list 增加被要被限制的用户名(我这里是ftptest)
  3. 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
  2. 在ECS服务器 安全组规则中分别添加这两个端口,这样vsftprush客户端就可以访问vsftp服务器了

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

  1. vi /etc/pam.d/vsftpd
    注释掉/etc/pam.d/vsftpd文件里这一行:
    #auth required pam_shells.so
    这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器.
  2. vi /etc/shells
    在/etc/shells文件里面增加一行:
    /sbin/nologin
    这样允许不能登录系统的用户通过鉴权

11.安装vsftprush客户端

  1. 安装地址:百度有,这里小白不提供了
    2.建立与linux中 vsftpd服务器的连接
    主机地址:就是linux公网ip
    账户密码:之前新建的

从linux安装到完整项目部署到项目运行(全流程)_第5张图片
以上步骤走完,需要重启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
7. /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包
从linux安装到完整项目部署到项目运行(全流程)_第6张图片
2.启动secureCRT

  1. systemctl start mysqld.service 启动mysql
    systemctl statu mysqld.service 查看状态
  2. systemctl start vsftpd.service 启动vsftpd服务器 然后查看状态
  3. /usr/local/tomcat/apache-tomcat-8.5.23/bin/startup.sh 启动tomcat
  4. 登入vsftprush客户端,连接之后,将war包上传即可
  5. 将/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.项目运行

你可能感兴趣的:(java,linux,数据库)