当前位置: 首页 > news >正文

项目发布部署

目录

1.创建xshell项目

2.搭建Java部署环境

2.1 apt

2.2 JDK

2.3 MySQL

3.部署web项目到Linux


1.创建xshell项目

2.搭建Java部署环境

2.1 apt

apt(Advanced PackagingTool),Linux软件包管理工具.用于在Ubuntu、Debian和相关Linux发行版

上安装、更新、删除和管理deb软件包.

大多数apt命令必须以具有sudo权限的用户身份运行.


apt常用命令

列出所有软件包

apt list

这个命令输出所有包的列表,内容比较多,可以使用grep命令过滤输出。

sudo apt-get update 
  1. 更新软件包数据库

 

sudo apt-get update

apt实际上在可⽤软件包的数据库上⼯作.如果数据库没有更新,系统将不知道是否有更新的软件包可 ⽤.这就是为什么在安装任何Linux系统之后,第⼀件事应该是更新apt数据库

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

切换root用户

 

sudo su

  1. 安装软件包

    sudo apt install package_name
  2. 移除软件包

    sudo apt remove package_name

2.2 JDK

  1. 更新软件包

    sudo apt-get update
  2. 安装openjdk

    #查找jdk包 
    apt list |grep "jdk" 
    #安装jdk 
    sudo apt install openjdk-17-jdk

    使用java -version 验证是否安装成功.

2.3 MySQL

  1. 使用apt安装MySQL

    #查找安装包 
    apt list |grep "mysql-server" 
    #安装mysql 
    sudo apt install mysql-server
  2. 查看MySQL状态

    (看到绿点表示成功)

    sudo systemctl status mysql
  3. MySQL安装安全设置
    默认的MySQL设置是不安全的,MySQL安装提供了一个安全脚本,用于解决不太安全的默认选项。

    sudo mysql_secure_installation 

    接下来按照提示输入:
     

    sudo mysql_secure_installation #安装安全设置  Press y|Y for Yes, any other key for No: Y #是否设置验证密码组件 Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 #设置密码强度  Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y #默认情 况下,MySQL安装有⼀个匿名用户, 允许任何人登录MySQL. 是否删除匿名用户?Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #仅 应允许root从'localhost'连接  Remove test database and access to it? (Press y|Y for Yes, any other key for  No) : Y #默认情况下, MySQL带有⼀个test数据库, 是否删除? Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是 否现在加载配置, 使刚才的修改⽣效?   

  4. 设置密码
    连接MySQL服务器

    sudo mysql

    root 用户登录 MySQL 时,因未提供密码而被拒绝”。需要使用带密码的登录命令mysql -uroot -p),并输入正确的 root 用户密码

    使用alteruser命令修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY  '要修改的密码'; 

3.部署web项目到Linux

  1. 创建要保存的目录

    //查询目录
    ll//创建一个名为 forum 的新目录(文件夹)
    mkdir forum//进入名为 forum 的目录
    cd forum//显示当前工作目录的完整路径(绝对路径)
    pwd
  2. 连接数据库

    mysql -uroot -p 
  3. 执行SQL脚本
    将数据库拖入之前创建的目录下

    //删除文件夹
    rm 404Lounge.sql.0//执行当前文件中的sql语句
    source /root/404Lounge/404Lounge.sql

  4. 修改代码中数据源位置

  5. 修改配置文件中的日志级别与日志文件路径
    在当前所在的目录路径下创建日志文件路径

    root@VM-20-5-ubuntu:~/404Lounge# mkdir /log
    root@VM-20-5-ubuntu:~/404Lounge# cd /log
    root@VM-20-5-ubuntu:/log# mkdir 404Lounge
    root@VM-20-5-ubuntu:/log# cd 404Lounge/root@VM-20-5-ubuntu:/log/404Lounge# pwd
    /log/404Lounge  //该路径即为配置文件中所要配置的日志路径


     

    root@VM-20-5-ubuntu:/log/404Lounge# cd ~
    root@VM-20-5-ubuntu:~# cd 404Lounge/

  6. 打包程序

  7. 上传到服务器
    将package打包的.jar文件拖到xshell中

    //将名称改为forum.jar
    mv forum-0.0.1-SNAPSHOT.jar 404Lounge.jar

  8. 后台运行挂起

    nohup java-jar 404Lounge.jar &

  • nohup

    • 全称 “no hang up”(不挂起),作用是让命令在退出终端(或断开 SSH 连接)后,依然能在后台继续运行。如果直接运行 java -jar forum.jar,一旦关闭终端,程序就会停止,而 nohup 可以避免这种情况。

  • java -jar forum.jar

    • java:调用 Java 运行时环境。

    • -jar:表示要运行的是一个可执行的 JAR 包(Java Archive,Java 归档文件,将 Java 应用的类、资源等打包成的一个文件,可直接运行)。

    • forum.jar:要运行的 JAR 包文件名,这里假设你的 Java 项目打包后叫 forum.jar,实际需替换为你自己的 JAR 包名称。

  • &

    • 放在命令末尾,作用是让命令在后台运行。这样终端不会被程序的输出占用,你可以在同一终端继续执行其他命令。

//先列出系统中所有进程的详细信息,再从中筛选出包含 java 的进程
ps -ef | grep java

第一部分:ps -ef

  • ps:是 Process Status 的缩写,用于 “查看系统中正在运行的进程”。

  • -e:显示所有用户的所有进程(不局限于当前用户)。

  • -f:以 全格式(full format) 显示进程信息,包括 UID(用户 ID)、PID(进程 ID)、PPID(父进程 ID)、C(CPU 使用率)、STIME(启动时间)、TTY(终端)、TIME(占用 CPU 时间)、CMD(进程命令)等详细内容。

  1. 第二部分:grep java

  • grep:是 Global Regular Expression Print 的缩写,用于 “在文本中搜索匹配正则表达式的内容”。

  • java:是要搜索的关键词,这里表示 “筛选出包含 java 字样的进程”(因为 Java 程序通常以 java -jar...java... 命令启动)。

  1. 管道 | 的作用

  • 管道 | 将前一个命令(ps -ef)的输出,作为后一个命令(grep java)的输入。

  • 因此,整个命令的作用是:先列出系统中所有进程的详细信息,再从中筛选出包含 java 的进程

//查询端口 58080 网络连接状态
netstat -an|grep 58080

http://www.dtcms.com/a/407836.html

相关文章:

  • 告别字符串拼接繁琐!Java String.format () 实用指南
  • 写小说赚钱的网站温岭市住房和城乡建设局网站
  • 厦门 网站优化宜宾公司做网站
  • 北京网站设计网站公司2021年工程造价信息
  • 有个做图片mv的网站56厦门网络公司网站
  • PaperReading:《Manipulating Multimodal Agents via Cross-Modal Prompt Injection》
  • Unity模拟《切尔诺贝利》中的控制棒
  • 创新型的网站建设域名查询ip地址
  • 离散时间信号和系统的频域分析
  • 门户网站技术方案wordpress 滑到底部自动加载
  • 公司网站百度搜不到寻找外贸客户的网站
  • 电子商务网站开发怎么设计做漫画视频在线观看网站
  • 手表大全网站广告网站模板免费下载
  • 网站布局分类汽车手机网站制作
  • Spring的AOP
  • PyQt简单做一个GUI
  • Transformer 全景解析:从原理到实践的进阶指南
  • 秦皇岛公司做网站中国工商注册网官网网址
  • 阿里云万网网站个体工商户年检入口
  • 网站逻辑结构政务服务 网站 建设方案
  • NeurIPS 2025 | 时序方向硬核总结,又一顶会新方向!
  • CTF攻防世界WEB精选基础入门:get_post
  • 学校如何报销网站开发费用面馆装修设计
  • 游戏网站后台建设wordpress 登录框
  • 2025年--Lc161 --H80.删除有序数组中的重复项 II(数组和字符串)--Java版
  • datawhale RAG技术全栈指南 202509 第3次作业
  • 网站建设软件做淘宝一样的网站
  • 网页前端模板网站家里装修
  • 怎么避免网站开发后门上海怎么建设网站
  • 牛客算法题_查找