你学会如何将项目部署到Linux系统上了吗?

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。

23.Linux的网络管理


  • Linux系统中,所有的配置文件存在于 etc目录下。
  • 使用vi命令来修改网络ip地址的配置文件:vi /etc/syscongig/network-scripts/ifcfg-ens33

修改这个配置文件中对应的信息

  • BOOTPROTO = "static"
  • ONBOOT= "yes"
  • IPADDR=192.168.11.128 (ip地址)
  • GATEWAY=192.168.11.2 (网关地址)
  • DNS=192.16.11.2 (域名解析系统)

只修将这个配置文件中的信息改变为:static、yes。其中IP地址、网关协议以及域名解析系统公司用给出,直接按着修改即可。


24.Linux中关于进程的管理


  • 线程的概念:一个程序的执行线路,一个程序可以有多个线程。
  • 进程的概念:一个程序的执行,一个进程会占用一个端口。

注意:一个进程可以有多个线程。只要是可执行的文件(.exe)或者命令就是一个进程,会占用一个端口。

在Windows中,SYSTEM对应的系统进程,Admin对应的用户进程。

微信截图_20220610095029.png

查看Linux中进程信息

  • ps : 这个命令只能查看Liunx系统中的用户应用的进程,不能查看系统的进程。
  • ps -e :查看Linux中的所有的进程(用户进程以及系统进程),简化显示进程信息。
  • ps -ef : 已全格式的形式显示Liunx中的所有的进程。
  • ps -ef|grep mysql : 查看指定执行的文件的全格式进程信息。(查看程序是否正常启动以及这个程序所对应的端口号。)

关闭Linux中的进程

  • 使用ps命令查看进程的PID。
  • 使用命令kill -9 PID 来关闭这个进程。


25.Linux中服务的管理


  • 服务是支持Linu运行的一些必要的程序,本质上也是进程,叫做守护进程。守护进程通常默默地运行在后台,为应用程序提供必要支撑,比如:sshd(接收和处理远程连接的)、防火墙等。
  • 新版操作服务:systemctl [start|stop|restart|reload|status|enable] 服务名称。
  • 旧版操作服务:service [start|stop|restart|reload|status|enable] 服务名称。

举列说明:

  • 查看防火墙状态:systemctl status firewalld
  • 关闭防火墙:systemctl stop firewalld
  • 开启防火墙:systemctl start firewalld


26. Linux中软件包的管理(软件的安装与卸载)


  • 这个主要是管理软件的安装包
  • RPM:一种Linux的软件包的打包和安装工具,它操作的软件包都是 .rpm结尾的安装包。

因为RPM已经称为Linux系统中重要的安装和解压工具,所以在Linux系统中内置了关于操作RPM的rpm命令。可以直接通过命令来操作这些.rpm安装包。

  • 查看当前系统中全部已经安装的rpm包:rpm -qa
  • 使用过滤的方式查找指定的rpm暗转包:rpm -qa|grep firefox
  • 卸载rpm安装包:rpm -e 指定包名(firefox)
  • 安装rpm包:rpm -ivh xxx.rpm

这种方式不需要连接网络。


27. YUM包管理(使用居多)


  • 这个YUM收集了全世界的rpm包,相当于Maven仓库,我们需要什么rmp安装包直接到这个YUM仓库中搜索下载即可,并且使用YUM这个仓库他会自动下载你需要的这个rpm安装包的依赖rpm包,先下载依赖的rpm包最后在下载这个需要的rpm包。是一种基于RPM的软件包管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系。
  • 查看当前系统中已经安装的rpm软件包:yum list installed
  • 使用过滤的方式查看指定的rpm安装包:yum list installed|grep firefox
  • 卸载rpm软件包:yum remove (指定软件)firefox.x86_64
  • 安装rpm软件包:yum install firefox

这种方式必须连接网络。


28.Linux中搭建JavaEE的开发环境


  • 我们是在windows系统中使用idea集成开发环境等工具来编写一个项目,之后进行打包,部署到Linux服务器上。在Linux不进行代码的编写。我们只需要在Liunx服务器配置好运行Java项目的环境即可。


28.1 在Linux系统中安装JDK(需要配置环境变量)


第一步:先将软件通过xftp5上传到/opt下

微信截图_20220610095122.png

第二步:解压到/opt目录下 (tar -zxvf 压缩包 -C(大写的C) 解压到的路径)

微信截图_20220610095131.png

第三步:配置环境变量的配置文件Vim /etc/profile

JAVA_HOME=/opt/jdk1.7.0_79
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:.
export JAVA_HOME PATH CLASSPATH
复制代码

第四步:是配置文件生效

  • source profile

第五步:测试安装成功

  • java -version


28.2 安装Tomcat(不需要配置环境变量)


第一步:将Tomcat压缩包通过xftp5上传到/opt下

微信截图_20220610095210.png

第二步:解压到 /opt目录下

微信截图_20220610095221.png

第三步:启动Tomcat

微信截图_20220610095238.png

第四步:Linux上访问Tomcat

  • 在Windows系统上可执行文件叫做.exe,在Linux系统上执行文件叫.sh
  • 解压之后在tomcat软件的bin目录下找到 startup.bat 启动Tomcat。

如果想在windows系统上访问Linux系统上的Tomcat,首先需要将Linux系统的防火墙关闭,之后再Windos系统中输入:http://Linux的ip地址:8080 ,此时就可以再Winodws系统上访问Linux系统上的Tomcat。


28.3 安装MySQL


第一步:查看是否已经安装了mariadb

  • 检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb数据库和mysql数据库会发生冲突。首先要检查是否安装了mariadb数据库,如果安装了需要将其卸载掉。
  • 检查是否存在mariadb数据库:yum list installed | grep mariadb
  • 卸载命令:yum -y remove xxx,如果卸载不成功,需要去掉参数-y,手动确认卸载。

微信截图_20220610095337.png

第二步:上传mysql安装包到 /opt目录下

微信截图_20220610095345.png

第三步:解压mysql安装包到 /opt 目录下

微信截图_20220610095357.png

第四步:修改解压后的根目录名

微信截图_20220610095412.png

第五步:创建数据文件夹data(可以创建任意名称的文件夹,建议创建data文件夹)

  • data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录下。默认是没有data文件夹的,我们需要手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹。

微信截图_20220610095511.png

第六步:创建用来执行mysql命令的Linux用户

  • 创建mysql用户(建议,可以任意命名)。用来执行MySQL的命令mysqld(就是对mysql进行开启、关系以及其他的操作),此命令用来初始化mysql的基础信息。可以使用其他用户,例如:mysqldb等...但是不推荐使用。

微信截图_20220610095522.png

第七步:初始化mysql

  • 使用mysql的mysqlid命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。
  • 命令:mysqld -initialize -user = mysql-datadir=/opt/mysql-5.7.18/data -basedir=/opt/mysql-5.7.18

参数说明:

  • -initialize : 初始化mysql,创建的root,随机生成密码。记住密码,登录mysql使用。
  • -user :执行mysql命令的Liunx用户名
  • -datadir :mysql数据文件的存放位置,目录位置参照本机的设置。
  • -basedir :mysql安装程序的目录,目录位置参照本机的设置。

该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用。

微信截图_20220610095600.png

密码是:LTt+nCxrx0xM

第八步:启用安全功能

  • 在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序 mysql_ssl_rsa_setup提供了开启数据加密的功能,生成数字证书。
  • 在mysql-5,7,18/bin目录下执行命令: ./mysql_ssl_rsa_setup-datadir=/opt/mysql-5.7.18/data

微信截图_20220610095608.png

第九步:修改安装目录权限

  • mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属用户和组为之前创建的mysql用户及其所在组。在mysql安装目录的上级(/opt)位置,执行命令chown。

微信截图_20220610095615.png

第十步:启动mysql服务

  • 启动mysql服务,mysql-5.7.18/bin目录下执行命令: ./mysqld_safe &(其中&符号表示后台启动),输入命令后按Enter

微信截图_20220610095709.png

确认mysql是否启动成功,查看进程,使用 ps -ef | grep mysql

第十一步:关闭mysql

  • 在mysql-5.7.18目录下执行: ./mysqladmin -uroot -p shutdown 输入密码关闭

微信截图_20220610095725.png

  • 查看mysql进行,确认mysql服务是否关闭成功

微信截图_20220610095733.png

29.将项目部署到Liunx系统服务器上


第一步:需要将项目的数据库存储为sql文件,将这个sql文件导入到Linux系统中。

  • 具体操作:
  • 第一步:在windows的cmd中使用命令:mysqldump -u账号 -p密码 数据库名 > 文件存储的绝对路径。注意:执行mysqldump命令,直接在Windows控制台下执行,无需登录mysql。并且在mysql下执行这个命令是错误的。
  • 微信截图_20220610095825.png
  • 第二步:将这个sql文件用过xftp等工具传入到Linux中,一般传入到opt目录下。
  • 微信截图_20220610095835.png
  • 第三步:在Liunx中登录并创建一个数据库(这个数据路与windows中的数据库名字一致,这样做是保证war包中连接数据库的信息不用发生改变。)
  • 微信截图_20220610095847.png
  • 第四步:执行sql脚本文件(sourec + sql文件路径),此时是在Linux系统中进行的操作。
  • 微信截图_20220610095855.png
  • 第五步:导入成功。完成了Windows到Linux数据库的导入。

第二步:使用idea或者其他编辑器将项目导出为一个war包。(导出war包可以使用idea中Build导出war包,也可以使用Maven到处war包),这里需要修改项目中连接数据库的信息,将其修改为Linux系统中用户名、密码以及数据库的名称端口号等...

第三步:将生成的war包导入到Linux系统中的tomcat软件中的webapp下,此时Linux系统中的Tomcat会自动解压这个war包并运行。

第四步:启动Linux系统中的Tomcat,在Tomcat的bin目录下找到startup.sh启动Tomcat。使用命令:./startup.sh

第五步:此时就可以在Linux浏览器的网址栏输入此项目的url来访问这个项目。主机的ip地址此时就是Linux本机的。http://127.0.0.1:8080/crm/login.jsp

第六步:在Windows上访问Linux服务器上的这个项目。此时主机的iP地址就不是本机的了,需要使用部署项目的这台Linux系统的ip地址。http://192.168.11.128:8080/crm/login.jsp 。注意:需要关闭Linux系统中饿防火墙。

连接虚拟机的时候使用的虚拟网卡,不是实际的网卡。

我们此时使用的是虚拟的Linux系统,不是实际存在的电脑,所以使用虚拟网卡,在实际开发中,Linux会部署到一个Linxu服务器上,这个服务器是真是存在的,此时就需要使用实际网卡。

  • 虚拟网卡

微信截图_20220610100029.png

  • 实际网卡

微信截图_20220610100039.png



相关文章
|
1月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
1月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
613 10
|
1月前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
280 0
|
1月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
94 0
|
1月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
167 0
|
1月前
|
Ubuntu Linux 图形学
Linux学习之Linux桌面系统有哪些?
Cinnamon:与MATE类似,Cinnamon 拥有 GNOME 和 Unity 等其它桌面环境所没有的种种功能,是高度可定制的桌面环境,不需要任何外部插件、窗口组件和调整工具来定制桌面。
108 0
|
1月前
|
Ubuntu 安全 Linux
十款常用Linux系统介绍
本文不是什么大盘点。市面上有好几百款发行版,每款发行版在某个方面都与众不同。不可能在此全部罗列,本文只罗列了十款最常见的Linux发行版(世界上只有两种人,一种是懂二进制的,另一种是不懂二进制的)。请宣传Linux的魅力或威力。
|
1月前
|
Ubuntu 安全 Linux
linux系统|Ubuntu 18.10 如期正式发布,新面孔新技术都来了
微软公司也终于沉不住气要在linux开源系统开疆扩土了。mscode这样的工具的确好用,虽然差第一名那么一点儿,但是最老版的公司出版的软件的确很是让人动心!
|
1月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
1月前
|
Web App开发 安全 Linux
Linux 比起其他系统的5 个优点和 5 个缺点
对Linux系统感兴趣的朋友,可以点击下方书籍进行学习。