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

项目部署总结

Linux 环境下 Java 开发环境搭建与项目部署全指南

在 Linux 服务器上部署 Java 项目时,搭建稳定的开发环境是基础。本文将详细介绍 JDK、Tomcat、Redis、MySQL、Nginx 的安装步骤,以及 SpringBoot 和 SSM 项目的部署流程,适合新手快速上手。

一、环境准备

  • 操作系统:CentOS 7(其他 Linux 发行版步骤类似,命令可能略有差异)
  • 工具:Xshell(远程连接)、Xftp(文件上传)
  • 权限:建议使用 root 用户操作,避免权限问题

二、安装 JDK

JDK 是 Java 项目运行的基础,以下提供两种安装方式:

方式 1:手动解压安装

  1. 上传安装包
    从 Oracle 官网下载对应版本的 JDK(如jdk-8u361-linux-x64.tar.gz),通过 Xftp 上传到服务器(建议路径:/usr/local/src)。

  2. 解压安装包
    执行解压命令:

    tar -xvf jdk-8u361-linux-x64.tar.gz
    

    解压后会生成类似jdk1.8.0_361的文件夹。

  3. 配置环境变量
    编辑系统环境变量文件:

    vim /etc/profile
    

    在文件末尾添加(注意替换为实际 JDK 路径):

    export JAVA_HOME=/usr/local/src/jdk1.8.0_361
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib
    
  4. 生效环境变量

    source /etc/profile
    
  5. 验证安装
    执行以下命令,若显示版本信息则安装成功:

    java -version
    

方式 2:yum 一键安装(推荐新手)

通过 yum 直接安装 OpenJDK,简单高效:

yum install java-1.8.0-openjdk-devel -y

安装完成后直接执行java -version验证即可。

三、安装 Tomcat

Tomcat 是部署 Java Web 项目的容器,步骤如下:

  1. 上传并解压
    下载 Tomcat 安装包(如apache-tomcat-9.0.76.tar.gz),上传到服务器后解压:

    tar -xvf apache-tomcat-9.0.76.tar.gz
    
  2. 修改端口(可选)
    若需将默认端口 8080 改为 80(需确保 80 端口未被占用),编辑配置文件:

    vim apache-tomcat-9.0.76/conf/server.xml
    

    找到<Connector port="8080"...,将 8080 改为 80。

  3. 启动与关闭
    进入 bin 目录操作:

    # 启动
    ./startup.sh
    # 关闭
    ./shutdown.sh
    
  4. 验证安装
    浏览器访问http://服务器IP:端口(默认 8080),若显示 Tomcat 默认页面则成功。
    ⚠️ 注意:需开放对应端口(如 8080),否则无法访问。

四、安装 Redis

Redis 是高性能的 key-value 数据库,常用于缓存,安装步骤如下:

  1. 上传并解压
    下载 Redis 安装包(如redis-5.0.4.tar.gz),上传后解压:

    tar -xvf redis-5.0.4.tar.gz
    
  2. 编译与安装
    进入解压目录,执行编译和安装:

    cd redis-5.0.4
    make  # 编译(需提前安装gcc,若报错执行yum install gcc -y)
    make install  # 安装
    
  3. 配置 Redis
    编辑配置文件redis.conf,修改以下关键参数(保障安全性和可用性):

    vim redis.conf
    

    • bind 127.0.0.1 → 注释掉(允许远程连接)
    • protected-mode yes → 改为no(关闭保护模式)
    • daemonize no → 改为yes(后台运行)
    • #requirepass foobared → 改为requirepass 你的密码(设置访问密码)
  4. 启动与关闭

    # 启动(指定配置文件)
    redis-server redis.conf
    # 关闭(需输入密码)
    redis-cli -a 你的密码 shutdown
    
  5. 验证连接
    本地连接:

    redis-cli -a 你的密码  # 若默认端口6379可省略参数
    

    远程连接(需开放 6379 端口):

    redis-cli -h 服务器IP -p 6379 -a 你的密码 ping
    

    若返回PONG则连接成功。

五、安装 MySQL

MySQL 是常用的关系型数据库,以下以 MySQL 8.0 为例:

  1. 检查并卸载旧版本
    若已安装 MySQL,先卸载:

    # 检查已安装包
    rpm -qa | grep mysql
    # 卸载(替换为实际包名)
    rpm -e --nodeps 包名
    
  2. 安装 MySQL repo 源
    从 MySQL 官网下载对应系统的 repo 源(如mysql80-community-release-el7-7.noarch.rpm),上传后安装:

    rpm -ivh mysql80-community-release-el7-7.noarch.rpm
    
  3. 选择 MySQL 版本
    查看可用版本:

    yum repolist all | grep mysql
    

    若需安装 5.7 版本,先禁用 8.0,启用 5.7:

    yum-config-manager --disable mysql80-community
    yum-config-manager --enable mysql57-community
    
  4. 安装 MySQL 服务

    yum install mysql-community-server -y
    

    安装完成后查看版本:

    mysql -V
    
  5. 启动 MySQL 并设置开机自启

    # 启动
    systemctl start mysqld
    # 查看状态
    systemctl status mysqld
    # 开机自启
    systemctl enable mysqld
    
  6. 设置密码

    • 获取临时密码:
      grep 'temporary password' /var/log/mysqld.log
      
    • 登录 MySQL(输入临时密码):
      mysql -uroot -p
      
    • 修改密码(默认密码策略要求:至少 8 位,含数字、特殊字符):
      # 若想简化密码,先临时修改策略
      set global validate_password.length = 6;  # 长度6位
      set global validate_password.policy = 0;  # 降低复杂度要求
      # 设置新密码
      alter user 'root'@'localhost' identified by '你的密码';
      
  7. 允许远程连接
    默认 MySQL 只允许本地连接,需配置远程访问:

    # 创建远程用户(MySQL 8.0需指定加密方式)
    create user 'root'@'%' identified with mysql_native_password by '你的密码';
    # 授权
    grant all privileges on *.* to 'root'@'%' with grant option;
    # 刷新权限
    flush privileges;
    

    ⚠️ 注意:需开放 3306 端口,并在服务器安全组中放行。

六、安装 Nginx

Nginx 是高性能的 Web 服务器,常用于静态资源部署和反向代理:

  1. 上传并解压
    下载 Nginx 安装包(如nginx-1.24.0.tar.gz),上传后解压:

    tar -xvf nginx-1.24.0.tar.gz
    
  2. 配置与编译
    进入解压目录,执行配置(默认配置即可):

    cd nginx-1.24.0
    ./configure
    

    编译并安装:

    make && make install
    

    安装后默认路径为/usr/local/nginx

  3. 配置 Nginx
    编辑配置文件/usr/local/nginx/conf/nginx.conf,常用配置示例(反向代理):

    server {listen 80;  # 监听端口server_name 服务器IP;# 静态资源代理(前端项目)location / {root /usr/local/nginx/html/dist;  # 前端dist目录路径index index.html;}# 后端接口代理location /prod-api/ {proxy_pass http://服务器IP:8282/;  # 后端项目端口}
    }
    
  4. 启动与管理
    进入sbin目录操作:

    # 启动
    ./nginx
    # 重启(配置修改后生效)
    ./nginx -s reload
    # 关闭
    ./nginx -s stop
    

七、部署 SpringBoot 项目

改成云服务器的url(也可以不改,127.0.0.1)

  1. 项目打包

    • 前端:执行npm run build:prod生成dist文件夹。
    • 后端:通过 Maven 打包生成xxx.jar
  2. 上传文件

    • 前端dist文件夹上传到/usr/local/nginx/html(或子目录)。
    • 后端xxx.jar上传到服务器任意目录(如/opt/project)。
  3. 配置 Nginx
    参考步骤六中的 Nginx 配置,确保前端请求能代理到后端接口。

  4. 启动项目

    • 前端:重启 Nginx 使配置生效:
      /usr/local/nginx/sbin/nginx -s reload
      
    • 后端:
      # 前台启动(测试用)
      java -jar xxx.jar
      # 后台启动(生产用)
      nohup java -jar xxx.jar &
      
  5. 验证
    浏览器访问http://服务器IP,若能正常加载页面并调用接口则部署成功。

八、部署 SSM 项目

  1. 项目打包
    通过 Maven 打包生成xxx.war文件。

  2. 部署到 Tomcat
    xxx.war上传到 Tomcat 的webapps目录(如apache-tomcat-9.0.76/webapps)。

  3. 配置静态资源
    编辑 Tomcat 的conf/server.xml,添加 Context 配置(避免静态资源访问问题)

  4. 启动 Tomcat

    cd apache-tomcat-9.0.76/bin
    ./startup.sh
    
  5. 验证
    访问http://服务器IP:8080/接口路径(如http://IP:8080/user/list),若正常返回数据则部署成功。

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

相关文章:

  • iceberg FlinkSQL 特性
  • 什么是分布式,它有哪些功能和应用场景
  • 如何在idea中导入外来文件
  • 呼吸道病原体检测需求激增,呼吸道快检试纸条诊断试剂生产厂家推荐,默克全链解决方案助IVD企业把握百亿风口
  • Protocol Buffers(Protobuf) 详解
  • SQL注入学习笔记
  • 计算机网络1-7:第一章 概述 章节小结
  • 科普:增强细节真实感的“微弹跳”
  • 5-终端安全检测和防御技术
  • FPGA即插即用Verilog驱动系列——SPI发送模块
  • AV、IPS、WAF对比
  • 云手机网速和本机网速的关系
  • 解锁 Appium Inspector:移动端 UI 自动化定位的利器
  • 秋招笔记-8.12
  • STM32_bug总结(TIM定时中断进不去和只进1次)
  • 【Python 爬虫】Playwright 多浏览器支持(Chromium/Firefox/WebKit)
  • AI入门学习--AI模型评测
  • kali linux 2025.2安装WPS并设置无报错的详细步骤
  • 云计算概述
  • 卫生间装修防水怎么做合适?
  • 外卖:重构餐饮的线上服务密码
  • 串口通信“第二次总超时”的复盘
  • XC7A15T-1FTG256C Xilinx AMD Artix-7 FPGA
  • 后端找数据库
  • nvm install 14.21.3 时npm 无法下载和识别
  • 项目实例-页面
  • 股票智能体系统的设计与开发
  • VisualSVN Server 4.2.1 安装教程 - 64位下载与配置步骤详解
  • 【Docker项目实战】使用Docker部署Vikunja任务管理工具
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day2