Linux的基础指令和环境部署,项目部署实战(下)

目录

上一篇:Linxu的基础指令和环境部署,项目部署实战(上)-CSDN博客

1. 搭建Java部署环境

1.1 apt

apt常用命令

列出所有的软件包

更新软件包数据库

安装软件包

移除软件包

1.2 JDK

1.2.1. 更新

1.2.2. 安装openjdk()

1.2.3.检查安装jdk成功

1.3 MySQL

1.3.1 使用apt安装MySQL

1.3.2 查看MySQL状态

1.3.3 设置密码

        1.3.3.1 连接mysql服务器

        1.3.3.2 使用 alter user 命令修改密码(自己能够记住就行)

2.部署web项目到Linux

2.1 环境配置

2.1.1 数据准备

2.1.2 程序配置文件修改

2.1.3 多平台文件配置

2.2 构建项目并打包

在本地使用maven进行打包

2.3 上传Jar包到服务器, 并运行

1. 上传Jar包直接拖动打好的jar包到xshell窗口即可完成文件的上传

2. 安装lrzsz

3.运行程序

4.开放端口

3.常见问题

1.检查程序是否启动

2.杀掉进程

1.查看目前的所有进程

2.杀死进程


上一篇:Linxu的基础指令和环境部署,项目部署实战(上)-CSDN博客

1. 搭建Java部署环境

1.1 apt

apt(Advanced Packing Tool),Linux软件包管理工具。用于Ubuntu,Debian和相关的Linux发行版上安装,更新,删除和管理deb软件包。

大多数 apt  命令都要以有sudo权限的用户运行。

apt常用命令
列出所有的软件包

1. apt list

 这个命令输出所有的工具包列表,内容非常多,可以用 grep 命令过滤。

        1. apt list |grep "java"

更新软件包数据库

1. sudo apt-get update  #运行此命令时, 您将看到从各种服务器检索到的软件包信息.

实际上 apt 它通过维护一个软件包的数据库来管理和安装软件。这个数据库包含了系统可用的软件包及其版本信息。

如果数据库没有更新,系统将无法检测到新的软件包版本,也无法安装或升级到最新的软件。因此,在安装Linux系统之后,更新APT数据库是一个非常重要的步骤

如果切换到root用户, 命令前就不需要加 sudo

切换root用户

        sudo su

安装软件包

sudo apt install package_name

移除软件包

sudo apt remove package_name 

值得注意的是 remove命令会卸载掉特定的软件包,但可能会留下配置文件,如果要把配置文件也彻底删除 ,就是用 purge 命令替代 remove

1.2 JDK

1.2.1. 更新

安装之前都要执行一遍更新软件包命令  sudo apt-get update

1.2.2. 安装openjdk()

注意: 此处安装的是OpenJDK, OpenJDK是一个开源版本的 JDK, 和 Oracle 官方的 JDK 略有差别. 此处我们就使用 OpenJDK 即可. 安装 Oracle JDK 比较麻烦.

1.#查找jdk包

2.apt list |grep "jdk"

3.

4.#安装jdk17

5. apt install openjdk-17-jdk

安装过程输入 y 确认

当跳出这个画面就按回车就好,然后等待安装;

1.2.3.检查安装jdk成功

 1. java -version  #查看jdk版本

当输出jdk的版本,就说明你安装jdk成功了

如果提示 "java 命令找不到" 则说明安装失败

1.3 MySQL

1.3.1 使用apt安装MySQL

1. #查找安装包
2. apt list |grep "mysql-server"
3. #安装mysql
4. sudo apt install mysql-server

安装流程与安装jdk一致

1.3.2 查看MySQL状态

1. sudo systemctl status mysql

        执行结果

1.3.3 设置密码
        1.3.3.1 连接mysql服务器

1. sudo mysql

        1.3.3.2 使用 alter user 命令修改密码(自己能够记住就行)

1  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

        执行结果(证明修改密码成功)

2.部署web项目到Linux

2.1 环境配置

程序正常运行, 需要保证环境和程序都要正确, 我们需要先设置环境

2.1.1 数据准备

在服务器上的mysql数据上建立与项目一致的数据库,数据可以不用同步,只要库表结构一样就好了。

2.1.2 程序配置文件修改

实际工作中,开发环境,测试环境和线上环境的配置是不一样的

比如mysql的用户名和密码;

所以我们要针对不同的环境,设置不同的配置

2.1.3 多平台文件配置

方法有很多种,这里我只举例我使用的这一种

针对不同的平台创建不同的配置文件,要求名字为

  • application.properties,
  • application-dev.properties,
  • application-test.properties; 

dev指的是开发环境的配置,test指的是线上环境的配置,固定格式,只有后面的字母可以修改,在不同的配置文件写不同的内容(下面只是将数据库的配置作为展示,如果自己还有其他配置,像:日志的存储路径,图片的存取路径都是要按这种方式修改的。)

application-dev.properties(开发环境的数据库的配置)

application-test.properties(线上环境的数据库的配置)

在主配置文件 application.properties 中指定配置文件为线上开发环境的配置

2.2 构建项目并打包

在本地使用maven进行打包

1. 如果Test代码中有与环境配置相关的操作(比如数据库相关的操作), 打包会失败, 点击下图①处的图标, 可以跳过测试。

2. 点击clean->package

2.3 上传Jar包到服务器, 并运行

1. 上传Jar包
直接拖动打好的jar包到xshell窗口即可完成文件的上传

问题: 如果执行上述命令之后, 提示 Command 'XX' not found , 表示当前云服务器未安装lrzsz命令, 需要先进行安装

2. 安装lrzsz

1.  apt-get install lrzsz

3.运行程序

1.  nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar &

nohup : 后台运行程序. 用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行.

4.创建相关数据库表
连接mysql数据库

mysql -uroot -p 回车 然后在命令行输入密码就可以了

看到一下界面就说明你连接数据库成功

 连接数据库成功之后,就可以去创建数据库,表等内容,这里不在过多赘述;

如果你有完整的sql文件,执行SQL文件: 使用以下命令执行SQL文件:

source /path/to/yourfile.sql

例如,如果你的SQL文件位于/root目录下,文件名为test.sql,则命令如下: source /root/test.sql;

如果在当前工作路径下,就直接source 文件名  就可以了。

4.开放端口

如果外网需要访问该服务, 需要先服务器防火墙开放对应的端口号,本着服务器安全的原则,云服务器上的端口非必要不开启.

比如常见端口号: 数据库 3306 , Redis 6379, 尽可能避免开放, 而是采用其他方式来连接, 比如配置隧道的方式。

以阿里云服务器为例子

进入实例的安全组界面,点击安全组的管理规则

端口号写需要开放的端口号, 多个端口号以逗号分割. 

3.常见问题

1.检查程序是否启动

ps -ef |grep "java"

2.杀掉进程

1.查看目前的所有进程

1.ps -ef |grep "java" (只查看名字包含java的程序)

执行结果中的29916,31709就是进程执行的端口号

2.杀死进程

1. kill -9  端口号(29916)(强制杀死进程)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/71836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯】第十五届省赛大学真题组真题解析

【蓝桥杯】第十五届省赛大学真题组真题解析 一、智能停车系统 1、知识点 (1)flex-wrap 控制子元素的换行方式 属性值有: no-wrap不换行wrap伸缩容器不够则自动往下换行wrap-reverse伸缩容器不够则自动往上换行 (2&#xff0…

flink operator v1.10对接华为云对象存储OBS

1 概述 flink operator及其flink集群,默认不直接支持华为云OBS,需要在这些java程序的插件目录放一个jar包,以及修改flink配置后,才能支持集成华为云OBS。 相关链接参考: https://support.huaweicloud.com/bestpracti…

免费PDF工具

Smallpdf.com - A Free Solution to all your PDF Problems Smallpdf - the platform that makes it super easy to convert and edit all your PDF files. Solving all your PDF problems in one place - and yes, free. https://smallpdf.com/#rappSmallpdf.com-解决您所有PD…

去中心化技术P2P框架

中心化网络与去中心化网络 1. 中心化网络 在传统的中心化网络中,所有客户端都通过一个中心服务器进行通信。这种网络拓扑结构通常是一个星型结构,其中服务器作为中心节点,每个客户端只能与服务器通信。如果客户端之间需要通信,必须…

muduo源码阅读:linux timefd定时器

⭐timerfd timerfd 是Linux一个定时器接口,它基于文件描述符工作,并通过该文件描述符的可读事件进行超时通知。可以方便地与select、poll和epoll等I/O多路复用机制集成,从而在没有处理事件时阻塞程序执行,实现高效的零轮询编程模…

Pinia 3.0 正式发布:全面拥抱 Vue 3 生态,升级指南与实战教程

一、重大版本更新解析 2024年2月11日,Vue 官方推荐的状态管理库 Pinia 迎来 3.0 正式版发布,本次更新标志着其全面转向 Vue 3 技术生态。以下是开发者需要重点关注的升级要点: 1.1 核心变更说明 特性3.0 版本要求兼容性说明Vue 支持Vue 3.…

【图像处理 --- Sobel 边缘检测的详解】

Sobel 边缘检测的详解 目录 Sobel 边缘检测的详解1. 梯度计算2. 梯度大小3. 梯度方向4. 非极大值抑制5. 双阈值处理6. 在 MATLAB 中实现 Sobel 边缘检测7.运行结果展示8.关键参数解释9.实验与验证 Sobel 边缘检测是一种经典的图像处理算法,用于检测图像中的边缘。它…

LeetCode 热题100 15. 三数之和

LeetCode 热题100 | 15. 三数之和 大家好,今天我们来解决一道经典的算法题——三数之和。这道题在 LeetCode 上被标记为中等难度,要求我们从一个整数数组中找到所有不重复的三元组,使得三元组的和为 0。下面我将详细讲解解题思路&#xff0c…

基因组组装中的术语1——from HGP

Initial sequencing and analysis of the human genome | Nature 1,分层鸟枪法测序hierarchical shotgun sequencing

安全开发-环境选择

文章目录 个人心得虚拟机选择ubuntu 22.04python环境选择conda下载使用: 个人心得 在做开发时配置一个专门的环境可以使我们在开发中的效率显著提升,可以避免掉很多环境冲突的报错。尤其是python各种版本冲突,还有做渗透工具不要选择windows…

数字体验驱动用户参与增效路径

内容概要 在数字化转型深化的当下,数字内容体验已成为企业与用户建立深度连接的核心切入点。通过个性化推荐引擎与智能数据分析系统的协同运作,企业能够实时捕捉用户行为轨迹,构建精准的用户行为深度洞察模型。这一模型不仅支撑内容分发的动…

Python 字符串(str)全方位剖析:从基础入门、方法详解到跨语言对比与知识拓展

Python 字符串(str)全方位剖析:从基础入门、方法详解到跨语言对比与知识拓展 本文将深入探讨 Python 中字符串(str)的相关知识,涵盖字符串的定义、创建、基本操作、格式化等内容。同时,会将 Py…

使用C++实现简单的TCP服务器和客户端

使用C实现简单的TCP服务器和客户端 介绍准备工作1. TCP服务器实现代码结构解释 2. TCP客户端实现代码结构解释 3. 测试1.编译:2.运行 结语 介绍 本文将通过一个简单的例子,介绍如何使用C实现一个基本的TCP服务器和客户端。这个例子展示了如何创建服务器…

Java Web开发实战与项目——Spring Boot与Spring Cloud微服务项目实战

企业级应用中,微服务架构已经成为一种常见的开发模式。Spring Boot与Spring Cloud提供了丰富的工具和组件,帮助开发者快速构建、管理和扩展微服务应用。本文将通过一个实际的微服务项目,展示如何使用Spring Boot与Spring Cloud构建微服务架构…

VMware建立linux虚拟机

本文适用于初学者,帮助初学者学习如何创建虚拟机,了解在创建过程中各个选项的含义。 环境如下: CentOS版本: CentOS 7.9(2009) 软件: VMware Workstation 17 Pro 17.5.0 build-22583795 1.配…

Linux8-互斥锁、信号量

一、前情回顾 void perror(const char *s);功能:参数: 二、资源竞争 1.多线程访问临界资源时存在资源竞争(存在资源竞争、造成数据错乱) 临界资源:多个线程可以同时操作的资源空间(全局变量、共享内存&a…

LD_PRELOAD 绕过 disable_function 学习

借助这位师傅的文章来学习通过LD_PRELOAD来绕过disable_function的原理 【PHP绕过】LD_PRELOAD bypass disable_functions_phpid绕过-CSDN博客 感谢这位师傅的贡献 介绍 静态链接: (1)举个情景来帮助理解: 假设你要搬家&#x…

【无人集群系列---无人机集群编队算法】

【无人集群系列---无人机集群编队算法】 一、核心目标二、主流编队控制方法1. 领航-跟随法(Leader-Follower)2. 虚拟结构法(Virtual Structure)3. 行为法(Behavior-Based)4. 人工势场法(Artific…

Oracle Fusion Middleware更改weblogic密码

前言 当用户忘记weblogic密码时,且无法登录到web界面中,需要使用服务器命令更改密码 更改方式 1、备份 首先进入 weblogic 安装目录,备份三个文件:boot.properties,DefaultAuthenticatorInit.ldift,Def…

MongoDB 复制(副本集)

MongoDB 复制(副本集) 引言 MongoDB是一个高性能、可扩展、易于使用的文档存储系统。它以JSON-like的文档存储结构,支持灵活的数据模型。在分布式系统中,为了提高数据可用性和系统稳定性,常常需要实现数据的备份和冗余。MongoDB提供了副本集…