项目部署总结
Linux 环境下 Java 开发环境搭建与项目部署全指南
在 Linux 服务器上部署 Java 项目时,搭建稳定的开发环境是基础。本文将详细介绍 JDK、Tomcat、Redis、MySQL、Nginx 的安装步骤,以及 SpringBoot 和 SSM 项目的部署流程,适合新手快速上手。
一、环境准备
- 操作系统:CentOS 7(其他 Linux 发行版步骤类似,命令可能略有差异)
- 工具:Xshell(远程连接)、Xftp(文件上传)
- 权限:建议使用 root 用户操作,避免权限问题
二、安装 JDK
JDK 是 Java 项目运行的基础,以下提供两种安装方式:
方式 1:手动解压安装
上传安装包
从 Oracle 官网下载对应版本的 JDK(如jdk-8u361-linux-x64.tar.gz
),通过 Xftp 上传到服务器(建议路径:/usr/local/src
)。解压安装包
执行解压命令:tar -xvf jdk-8u361-linux-x64.tar.gz
解压后会生成类似
jdk1.8.0_361
的文件夹。配置环境变量
编辑系统环境变量文件: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
生效环境变量
source /etc/profile
验证安装
执行以下命令,若显示版本信息则安装成功:java -version
方式 2:yum 一键安装(推荐新手)
通过 yum 直接安装 OpenJDK,简单高效:
yum install java-1.8.0-openjdk-devel -y
安装完成后直接执行java -version
验证即可。
三、安装 Tomcat
Tomcat 是部署 Java Web 项目的容器,步骤如下:
上传并解压
下载 Tomcat 安装包(如apache-tomcat-9.0.76.tar.gz
),上传到服务器后解压:tar -xvf apache-tomcat-9.0.76.tar.gz
修改端口(可选)
若需将默认端口 8080 改为 80(需确保 80 端口未被占用),编辑配置文件:vim apache-tomcat-9.0.76/conf/server.xml
找到
<Connector port="8080"...
,将 8080 改为 80。启动与关闭
进入 bin 目录操作:# 启动 ./startup.sh # 关闭 ./shutdown.sh
验证安装
浏览器访问http://服务器IP:端口
(默认 8080),若显示 Tomcat 默认页面则成功。
⚠️ 注意:需开放对应端口(如 8080),否则无法访问。
四、安装 Redis
Redis 是高性能的 key-value 数据库,常用于缓存,安装步骤如下:
上传并解压
下载 Redis 安装包(如redis-5.0.4.tar.gz
),上传后解压:tar -xvf redis-5.0.4.tar.gz
编译与安装
进入解压目录,执行编译和安装:cd redis-5.0.4 make # 编译(需提前安装gcc,若报错执行yum install gcc -y) make install # 安装
配置 Redis
编辑配置文件redis.conf
,修改以下关键参数(保障安全性和可用性):vim redis.conf
bind 127.0.0.1
→ 注释掉(允许远程连接)protected-mode yes
→ 改为no
(关闭保护模式)daemonize no
→ 改为yes
(后台运行)#requirepass foobared
→ 改为requirepass 你的密码
(设置访问密码)
启动与关闭
# 启动(指定配置文件) redis-server redis.conf # 关闭(需输入密码) redis-cli -a 你的密码 shutdown
验证连接
本地连接:redis-cli -a 你的密码 # 若默认端口6379可省略参数
远程连接(需开放 6379 端口):
redis-cli -h 服务器IP -p 6379 -a 你的密码 ping
若返回
PONG
则连接成功。
五、安装 MySQL
MySQL 是常用的关系型数据库,以下以 MySQL 8.0 为例:
检查并卸载旧版本
若已安装 MySQL,先卸载:# 检查已安装包 rpm -qa | grep mysql # 卸载(替换为实际包名) rpm -e --nodeps 包名
安装 MySQL repo 源
从 MySQL 官网下载对应系统的 repo 源(如mysql80-community-release-el7-7.noarch.rpm
),上传后安装:rpm -ivh mysql80-community-release-el7-7.noarch.rpm
选择 MySQL 版本
查看可用版本:yum repolist all | grep mysql
若需安装 5.7 版本,先禁用 8.0,启用 5.7:
yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community
安装 MySQL 服务
yum install mysql-community-server -y
安装完成后查看版本:
mysql -V
启动 MySQL 并设置开机自启
# 启动 systemctl start mysqld # 查看状态 systemctl status mysqld # 开机自启 systemctl enable mysqld
设置密码
- 获取临时密码:
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 '你的密码';
- 获取临时密码:
允许远程连接
默认 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 服务器,常用于静态资源部署和反向代理:
上传并解压
下载 Nginx 安装包(如nginx-1.24.0.tar.gz
),上传后解压:tar -xvf nginx-1.24.0.tar.gz
配置与编译
进入解压目录,执行配置(默认配置即可):cd nginx-1.24.0 ./configure
编译并安装:
make && make install
安装后默认路径为
/usr/local/nginx
。配置 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/; # 后端项目端口} }
启动与管理
进入sbin
目录操作:# 启动 ./nginx # 重启(配置修改后生效) ./nginx -s reload # 关闭 ./nginx -s stop
七、部署 SpringBoot 项目
改成云服务器的url(也可以不改,127.0.0.1)
项目打包
- 前端:执行
npm run build:prod
生成dist
文件夹。 - 后端:通过 Maven 打包生成
xxx.jar
。
- 前端:执行
上传文件
- 前端
dist
文件夹上传到/usr/local/nginx/html
(或子目录)。 - 后端
xxx.jar
上传到服务器任意目录(如/opt/project
)。
- 前端
配置 Nginx
参考步骤六中的 Nginx 配置,确保前端请求能代理到后端接口。启动项目
- 前端:重启 Nginx 使配置生效:
/usr/local/nginx/sbin/nginx -s reload
- 后端:
# 前台启动(测试用) java -jar xxx.jar # 后台启动(生产用) nohup java -jar xxx.jar &
- 前端:重启 Nginx 使配置生效:
验证
浏览器访问http://服务器IP
,若能正常加载页面并调用接口则部署成功。
八、部署 SSM 项目
项目打包
通过 Maven 打包生成xxx.war
文件。部署到 Tomcat
将xxx.war
上传到 Tomcat 的webapps
目录(如apache-tomcat-9.0.76/webapps
)。配置静态资源
编辑 Tomcat 的conf/server.xml
,添加 Context 配置(避免静态资源访问问题)启动 Tomcat
cd apache-tomcat-9.0.76/bin ./startup.sh
验证
访问http://服务器IP:8080/接口路径
(如http://IP:8080/user/list
),若正常返回数据则部署成功。