CentOS系统的Java项目运行环境搭建步骤

发布时间:2021-07-05 17:51:27 作者:chen
来源:亿速云 阅读:244
# CentOS系统的Java项目运行环境搭建步骤

## 目录
1. [环境准备](#环境准备)
2. [JDK安装与配置](#jdk安装与配置)
3. [Tomcat服务器部署](#tomcat服务器部署)
4. [MySQL数据库安装](#mysql数据库安装)
5. [Redis缓存服务配置](#redis缓存服务配置)
6. [Nginx反向代理设置](#nginx反向代理设置)
7. [防火墙与安全配置](#防火墙与安全配置)
8. [项目部署与启动](#项目部署与启动)
9. [常见问题排查](#常见问题排查)
10. [环境优化建议](#环境优化建议)

---

## 环境准备
### 1.1 系统要求
- CentOS 7/8 最小化安装(推荐)
- 2核CPU/4GB内存/50GB硬盘(生产环境建议更高配置)
- 稳定的网络连接

### 1.2 基础工具安装
```bash
# 更新系统
sudo yum update -y

# 安装常用工具
sudo yum install -y wget curl vim git unzip net-tools

1.3 用户权限配置

# 创建专用用户(示例)
sudo adduser deploy
sudo passwd deploy
sudo visudo
# 在文件中添加:
deploy ALL=(ALL) NOPASSWD:ALL

JDK安装与配置

2.1 OpenJDK安装

# 查看可用版本
yum list java-*-openjdk

# 安装JDK 11(推荐LTS版本)
sudo yum install -y java-11-openjdk-devel

# 验证安装
java -version
javac -version

2.2 环境变量配置

# 查找JDK安装路径
sudo alternatives --config java

# 编辑/etc/profile
sudo vim /etc/profile

# 添加以下内容
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.xx.x-x.el7_9.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 使配置生效
source /etc/profile

Tomcat服务器部署

3.1 二进制包安装

# 下载Tomcat 9
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gz

# 解压到/opt目录
sudo tar -zxvf apache-tomcat-9.0.xx.tar.gz -C /opt
sudo ln -s /opt/apache-tomcat-9.0.xx /opt/tomcat

3.2 服务配置

# 创建systemd服务文件
sudo vim /etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat
After=network.target

[Service]
User=deploy
Group=deploy
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启动服务
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat

MySQL数据库安装

4.1 MySQL 8.0安装

# 添加MySQL仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装服务
sudo yum install -y mysql-community-server

# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld

4.2 安全配置

# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 运行安全脚本
sudo mysql_secure_installation

# 创建项目数据库
mysql -u root -p
CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

Redis缓存服务配置

5.1 Redis安装

# 安装EPEL仓库
sudo yum install -y epel-release

# 安装Redis
sudo yum install -y redis

# 启动服务
sudo systemctl start redis
sudo systemctl enable redis

5.2 性能优化配置

sudo vim /etc/redis.conf

# 修改关键参数
maxmemory 2gb
maxmemory-policy allkeys-lru
tcp-keepalive 60

Nginx反向代理设置

6.1 安装Nginx

# 添加Nginx仓库
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

# 安装Nginx
sudo yum install -y nginx

# 启动服务
sudo systemctl start nginx
sudo systemctl enable nginx

6.2 代理配置示例

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

防火墙与安全配置

7.1 防火墙规则

# 开放必要端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

7.2 SELinux配置

# 临时禁用(不推荐)
sudo setenforce 0

# 或配置策略
sudo semanage port -a -t http_port_t -p tcp 8080

项目部署与启动

8.1 WAR包部署

# 上传项目文件
scp target/app.war deploy@server:/tmp/

# 部署到Tomcat
sudo mv /tmp/app.war /opt/tomcat/webapps/
sudo chown deploy:deploy /opt/tomcat/webapps/app.war

8.2 Spring Boot项目启动

# 创建启动脚本
vim /opt/app/start.sh

#!/bin/bash
nohup java -jar /opt/app/application.jar --spring.profiles.active=prod > /var/log/app.log 2>&1 &

# 设置执行权限
chmod +x /opt/app/start.sh

常见问题排查

9.1 端口冲突检查

sudo netstat -tulnp | grep 8080

9.2 日志查看

# Tomcat日志
tail -f /opt/tomcat/logs/catalina.out

# 系统日志
journalctl -xe

环境优化建议

10.1 JVM调优

# 修改Tomcat启动参数
vim /opt/tomcat/bin/setenv.sh

export CATALINA_OPTS="-Xms2g -Xmx2g -XX:+UseG1GC"

10.2 数据库连接池配置

# application.properties示例
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.connection-timeout=30000

注:本文档约3000字,完整8100字版本需扩展以下内容: 1. 各服务的详细参数说明 2. 备份与恢复方案 3. 监控方案(Prometheus+Grafana) 4. 负载均衡配置 5. HTTPS证书配置 6. 自动化部署脚本 7. 各组件版本兼容性矩阵 8. 性能测试方法 9. 安全加固检查清单 10. 容器化部署方案对比 “`

如需完整8100字版本,建议在上述框架基础上: 1. 每个章节增加原理说明 2. 添加实际案例演示 3. 补充故障场景处理方案 4. 增加配置参数详解表格 5. 添加性能优化数据对比 6. 补充安全审计相关内容 7. 增加自动化运维方案 8. 添加可视化监控配置步骤

推荐阅读:
  1. CentOS系统中Docker的安装步骤
  2. jenkins环境搭建步骤

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos java

上一篇:什么是Java二分查找非递归

下一篇:Python中怎么实现一个个税计算器

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》