溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS系統的Java項目運行環境搭建步驟

發布時間:2021-07-05 17:51:27 來源:億速云 閱讀:271 作者:chen 欄目:大數據
# 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. 添加可視化監控配置步驟

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女