第14章 项目部署(Linux)

发布时间:2026/10/7 2:35:09

第14章 项目部署(Linux) 一、课程概述二、Linux概述1、系统安装1介绍Linux系统分为内核版和发行版内核版由Linux核心团队开发、维护免费、开源负责控制硬件发行版基于Linux内核版进行扩展由各个Linux厂商开发、维护有收费版本和免费版本Linux系统发行版Ubuntu以桌面应用为主免费RedHat面向企业用户收费CentOSRedHat的社区版免费 √Fedora功能完备、快速更新免费openSUSE对个人完全免费、图形界面华丽红旗Linux北京中科红旗软件技术有限公司开发Linux系统的安装方式物理机安装直接将操作系统安装到服务器硬件上虚拟机安装通过虚拟机软件安装虚拟机virtualMachine指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。VMWare WorkStation √virtualBoxVMLite WorkStation2安装双击安装包安装检查两块虚拟网卡是否存在存在表示安装成功这两块网卡是windows与Linux通信的桥梁安装完毕之后需要配置网络才可以在windows系统上连接虚拟机上的linux系统解压CentOS7双击该文件完成镜像的挂载VMware中打开该虚拟机选择我已移动该虚拟机用户名root密码1234小结2、远程连接1介绍常用的SSH(SecureShell安全外壳协议)远程连接工具Putty、SecureCRT、Xshell、FinalShell等。2安装双击安装完成后连接虚拟机镜像服务器双击打开即可成功使用3、目录结构Linux系统中的目录特点1是所有目录的顶点2.目录结构像一颗倒挂的树Linux系统中的路径/itheima与itheima有区别吗?有/itheima是绝对路径是指根目录/下的itheima目录ithiema是相对路径是指当前目录下的itheima目录三、Linux常用命令Linux命令格式command [-options] [parameter]说明command命令名[-options]选项可用来对命令进行控制也可以省略可选[parameter]参数可以是零个、一个或多个可选使用技巧Tab键自动补全连续两次Tab键给出操作提示使用上下箭头快速调出曾经使用过的命令使用clear命令或ctrll快捷键实现清屏1、目录操作命令1ls作用显示指定目录下的内容语法ls [-al] [dir]选项-a显示所有文件及目录·开头的隐藏文件也会列出-l除文件名称外同时将文件类型d表示目录-表示文件、权限、拥有者、文件大小等信息详细列出提示由于我们使用ls命令时经常需要加入-l选项所以LINUX为ls-l命令提供了一种简写方式即ll2cd作用用于切换当前工作目录即进入指定目录语法cd [dirName]说明.表示目前所在的目录..表示目前目录位置的上级目录表示用户的home目录举例cd .. 切换到当前目录的上级目录cd ~ 切换到用户的home目录cd /usr/local 切换到/usr/local目录cd - 切换到上一次所在目录3mkdir作用创建目录语法:mkdir [─p] dirName说明-p确保目录名称存在不存在的就创建一个。通过此选项可以实现多层目录同时创建举例mkdir itcast 在当前目录下建立一个名为itcast的子目录 mkdir -p itcast/test 在itcast目录中创建test子目录若itcast目录不存在则建立一个4rm作用删除文件或者目录语法:rm [-rf] name说明-r将目录及目录中所有文件目录逐一删除即递归删除-f无需确认直接删除举例rm -r itcast/删除名为itcast的目录和目录中所有文件删除前需确认rm -rf itcast/无需确认直接删除名为itcast的目录和目录中所有文件rm -fhello.txt 无需确认直接删除hello.txt文件2、文件操作命令1cat作用用于显示文件的所有内容语法cat [-n] fileName说明-n由1开始对所有输出的行数编号举例cat /etc/profile查看/etc目录下的profile文件内容2more作用以分页的形式显示文件内容语法more fileName操作说明回车键向下滚动一行空格键向下滚动一屏b返回上一屏q或CtrIC退出more举例more /etc/profile以分页方式显示/etc目录下的profile文件内容3head作用查看文件开头的内容语法head [-n] fileName说明n输出文件开头的n行内容举例head 1.log默认显示1.log文件开头的10行内容head -20 1.log显示1.log文件开头的20行内容4tail作用查看文件末尾的内容语法tail [-nf] fileName说明n输出文件末尾的n行内容f动态读取文件末尾内容并显示通常用于日志文件的内容输出举例 tail 1.log 默认显示1.log文件末尾10行的内容 tail -20 1.log 显示1.log文件末尾20行的内容 tail -f 1.log 动态读取1.log文件末尾内容并显示(实时刷新3、拷贝移动命令1cp2mv4、打包压缩命令1tar5、文本编辑器命令1vi2vim6、查找命令1find2grep四、Linux软件安装1、JDK安装操作步骤:1上传安装包使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux2解压安装包命令为tar -zxvf jdk-17.0.10_linux-x64_bin.tar.gz -C /usr/local3配置环境变量使用vim命令修改/etc/profile文件在文件末尾加入如下配置export JAVA_HOME/usr/local/jdk-17.0.10export PATH$JAVA_HOME/bin:$PATH4重新加载profile文件使更改的配置立即生效命令为source/etc/profile5检查安装是否成功命令为java -version2、MySQL安装1准备工作卸载Linux系统中自带的mysql/mariadb安装包否则MySQL将安装失败rpm -qa | grep mariadbrpm -e -nodeps mariadb-libs-5.5.60-1.el7_5.x86_642上传安装包下载并上传mysql安装包mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz解压安装包到当前目录并将解压后的文件夹移动到/usr/local目录下改名为mysqltar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz3配置环境变量(编辑/etc/profile追加内容export MYSQL_HOME/usr/local/mysqlexport PATH$MYSQL_HOME/bin:$PATH4注册MySQL为系统服务cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig--add mysql5初始化数据库groupadd mysql useradd -r -g mysql -s /bin/false mysql mysqld--initialize--usermysql--basedir/usr/local/mysql--datadir/usr/local/mysql/data 初始化完毕后日志中会输出mysql的root用户的临时密码记得复制记录下来。6启动服务登录MySQLsystemctl start mysqlmysql -uroot-pxxxxx7配置MySQL的root用户的密码授权远程访问ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 1234创建用户、分配权限、刷新权限CREATE USERrOot% IDENTIFIED BY 1234GRANT ALLPRIVILEGES ON.TO roOt%’FLUSH PRIVILEGES8远程访问测试连接未能成功因为有防火墙的存在mysql -h 192.168.100.128 -p3306 -uroot -p12343、MySQL安装防火墙1防火墙操作查看防火墙状态(systemctl status firewalld、firewall-cmd --state)关闭防火墙(systemctl stop firewalld)开启防火墙(systemctl start firewalld)永久关闭防火墙(systemctl disable firewalld)开放指定端口(firewall-cmd --zonepublic --add-port8080/tcp --permanent)关闭指定端口(firewall-cmd --zonepublic --remove-port8080/tcp --permanent)立即生效(firewall-cmd --reload)查看开放的端口(firewall-cmd --zonepublic --list-ports)注意1、systemctl是管理Linux中服务的命令可以对服务进行启动、停止、重启、查看状态等操作2、firewall-cmd是Linux中专门用于控制防火墙的命令3、为了保证系统安全生产服务器的防火墙不建议关闭2datagram连接Linux数据库导入sql文件4、Nginx安装安装nginx运行时需要的依赖yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel上传nginx的源码包解压源码包到当前目录tar -zxvf nginx-1.20.2.tar.gz进入到解压目录(cd nginx-1.20.2)后执行指令: ./configure --prefix/usr/local/nginx执行编译nginx的指令make执行安装nginx的指令安装到上述指定的 /usr/local/nginx 目录make install进入到nginx安装目录/usr/local/nginx启动nginx服务sbin/nginxsql防火墙开放80端口五、项目部署1、前端部署1.将资料\06.项目部署\前端\页面资源文件夹下的打包好的静态资源上传到nginx的html目录中。2.配置nginx的配置文件在conf/nginx.conf中配置反向代理服务器及路径重写规则。3.在nginx的安装目录中执行sbin目录下的nginx命令启动nginx服务sbin/nginx或sbin/nginx -s reload停止Nginx服务sbin/nginx -s quit2、后端部署1打包执行maven的父工程中的package生命周期对项目进行打包 【打包之前先连接上服务器数据库先测试通过】。改一下数据库配置datasource: url: jdbc:mysql://192.168.100.128:3306/tlias driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 1234改一下日志文件存放路径FileNamePattern/user/local/tlias-app/tlias-%d{yyyy-MM-dd}-%i.log/FileNamePatternMaven生命周期跳过单元测试test执行打包操作2上传在linux服务器的/usr/local目录下创建一个目录tlias-app将jar包上传到服务器的 /usr/local/tlias-app 目录中。然后在命令行执行命令运行jar包 java -jar xxxxxx.jar3配置配置阿里云账户密码的环境变量上述执行运行jar包之后,会占用前台窗口,窗口关闭服务也就停了。可以使用 nohup 指令后台运行服务执行指令nohup java -jar xxxxxx.jar tlias.log nohup java -jar tlias-web-management.jar tlias.log 查看进程ps -ef | grep xxxx杀死进程kill -9 进程IDLinux 中的特殊符号|: 管道符。将前面命令的输出作为后面命令的输入。如: ps -ef | grep java与 : 重定向符号。将前面的文本内容输出到后面的文件中 : 覆盖重定向 : 追加重定向。 如: echo Hello Linux 1.log
延伸阅读

更多相关文章

2026/10/7 2:35:09

滑膜观测器(学习记录)

(1)滑膜观测器推导: 下面是永磁同步电机在α-β坐标系下的电机方程式: 注意:因为我使用的是表贴式永磁同步电机,所以下面的公式推导也是按照表贴式来推导的,即Ld Lq Ls。如果是内嵌式的需要你自己重新推导了。 根据上…

2026/10/7 2:35:09

ThinkPad BIOS设置中文手册:从入门到避坑的完整指南

简介:这份《ThinkPad BIOS设置中文手册》面向ThinkPad笔记本用户、IT运维人员及硬件爱好者,帮助解决BIOS选项繁多、英文界面难懂、设置不当导致系统异常等问题。资源为1个PDF文件,压缩包约449KB,内容以中文逐项讲解Config、Serial…

2026/10/7 4:55:17

OpenAI API 用量砍半的秘诀:Claude Code 与多模型调度如何省钱

早上打开 OpenAI 的用量后台,9 月的 API 消耗比 8 月少了将近一半。这个数字不是我刻意压预算压出来的,而是过去两周我把大量编码任务从 GPT 系列模型挪到了 Claude Code 上,用量自己就掉下去了。这篇日记就把这段时间的操作思路、配置过程和…

2026/10/7 4:55:17

MobaXterm:SSH/SFTP/Console一站式终端管理指南

作为一个常年跟服务器、网络设备打交道的人,我的电脑里曾经塞满了 PuTTY、SecureCRT、Xshell、WinSCP 好几个窗口工具,SSH 连一下、SFTP 传个文件、Console 登个交换机,来回切换手忙脚乱。后来换了 MobaXterm,一个窗口全搞定&…

2026/10/7 4:55:17

S7-1200锅炉燃烧控制实战:串级PID与安全联锁设计全解析

一台S7-1200 PLC、两路PID串级控制、一套点火时序和联锁逻辑,再加触摸屏和OPC UA通讯,就这么撑起了一套蒸汽锅炉智能燃烧控制系统。这句话说出来简单,可真正在现场把系统调稳、调省、调安全,前后花了我不少功夫,踩过的…

2026/10/7 4:55:17

用Workbuddy的Skill一键生成高质量读书报告:从拆书到落地实战

上个月团队要做读书分享,我随手挑了本《服务利润链》递给手下的客服组长,让他两周内整理一份报告出来。结果他三天没睡好,交上来的东西还是“目录抄写百度百科式简介”,别说掌握精髓了,连他自己都没搞明白书里到底讲了…

2026/10/7 4:55:17

Workbuddy实战:搭建自动化读书报告工作台,从输入到输出全流程

从年初开始,我给自己定了一个“每月精读三本书”的计划,但真正执行起来才发现最大瓶颈不是没时间读书,而是读完之后没法快速把收获沉淀成能用的东西。后来我用 Workbuddy 搭了一套专属工作台,把“写读书报告”这件事完全流程化&am…

2026/10/7 4:50:17

ZYNQ选型与迁移实战:7020到7045资源对比及避坑指南

说实话,ZYNQ选型这事,我一开始也栽过跟头。之前做某图像采集项目,起初选了7020,逻辑用到了八成多,BRAM直接爆了,DSP也快见底,算法团队还想往里塞算子,最后只能硬着头皮往7045迁移。结…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑