首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

CentOS 6.5 搭建 JDK + Tomcat + MySQL 生產環境圖文教程

     編輯:Java 相關知識

CentOS 6.5 企業級 Java Web 環境部署全流程指南

本文記錄在 CentOS 6.5 64位系統上,從零構建 JDK 1.7 + Tomcat 8 + MySQL 5.x 生產環境的完整步驟,包含環境變量配置、服務管理、安全加固、性能調優等實戰經驗。

系統環境準備


# 系統版本確認
cat /etc/redhat-release
# CentOS release 6.5 (Final)

# 關閉防火牆(生產建議配置 iptables 規則而非關閉)
service iptables stop
chkconfig iptables off

# 關閉 SELinux
vim /etc/selinux/config
# SELINUX=disabled
# 重啟生效

一、JDK 1.7.0_60 安裝與配置

1. 創建目錄與上傳安裝包


mkdir -p /usr/local/java
cd /usr/local/java
# 上傳 jdk-7u60-linux-x64.tar.gz 到此目錄
# 或 wget 下載(需 Oracle 登錄)

2. 解壓安裝


tar zxvf jdk-7u60-linux-x64.tar.gz
# 獲得目錄:jdk1.7.0_60

3. 配置環境變量(全局生效)


vim /etc/profile
# 文件末尾追加:
export JAVA_HOME=/usr/local/java/jdk1.7.0_60
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

# 立即生效
source /etc/profile

# 驗證
java -version
# java version "1.7.0_60"

4. 替代方案:用戶級配置(~/.bashrc)

若 /etc/profile 不生效,編輯 ~/.bashrc 加入相同配置,執行 source ~/.bashrc。

二、Tomcat 8.0.33 安裝與調優

1. 安裝


cd /usr/local
tar zxvf apache-tomcat-8.0.33.tar.gz
mv apache-tomcat-8.0.33 tomcat

2. JVM 記憶體調優配置


vim /usr/local/tomcat/bin/catalina.sh
# 在第 85 行左右(註釋區域後)添加:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxPermSize=128m -XX:MaxNewSize=256m -Djava.awt.headless=true"

參數解析:

  • -server:Server 模式,長時間運行性能優化
  • -Xms800m -Xmx800m:堆初始/最大 800MB,避免動態擴縮容震蕩
  • -XX:PermSize=64M -XX:MaxPermSize=128m:永久代(元空間)大小,防止類加載導致 OOM
  • -Djava.awt.headless=true:無形界面模式,解決圖表生成報錯

3. 端口與連接器優化(server.xml)


vim /usr/local/tomcat/conf/server.xml
# 修改 HTTP 連接器:

# 關閉 AJP(不需 Apache 前置時)

4. 啟動與驗證


cd /usr/local/tomcat/bin
./startup.sh

# 查看日誌
tail -f ../logs/catalina.out
# 出現 "Server startup in xxx ms" 即成功

# 測試訪問
curl https://localhost:8080

5. 設置開機自啟


echo "/usr/local/tomcat/bin/startup.sh" >> /etc/rc.local
chmod +x /etc/rc.local

三、MySQL 5.x 安裝與初始化(yum 方式)

1. 卸載舊版本


# 檢查現有安裝
rpm -qa | grep mysql

# 普通卸載
rpm -e mysql

# 強制卸載(有依賴時)
rpm -e --nodeps mysql

# 再次檢查確認清理乾淨
rpm -qa | grep mysql

2. yum 安裝


# 查看可用版本
yum list | grep mysql

# 安裝服務端、客戶端、開發庫
yum install -y mysql-server mysql mysql-devel

# 驗證版本
rpm -qi mysql-server

3. 服務啟動與初始化


service mysqld start
# 首次啟動會自動初始化數據目錄、創建系統表、生成隨機 root 密碼(5.7+)或無密碼(5.6-)

4. 設置開機自啟


chkconfig mysqld on
chkconfig --list | grep mysqld
# mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

5. 根用戶密碼設置與安全加固


# 5.6 及以下版本(無初始密碼)
mysqladmin -u root password 'YourStrongPassword123!'

# 5.7+ 版本(有臨時密碼,需先登錄修改)
# grep 'temporary password' /var/log/mysqld.log
# mysql -u root -p'臨時密碼'
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';

# 安全加固腳本(推薦執行)
mysql_secure_installation
# 會引導:修改密碼、移除匿名用戶、禁止遠程 root、移除 test 庫、重載權限

6. 遠程訪問授權(生產慎用)


mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YourStrongPassword123!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 生產建議:創建專用業務用戶、限制 IP、最小權限原則

四、關鍵配置文件與數據目錄解析

1. 主配置 /etc/my.cnf


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2. 數據目錄 /var/lib/mysql


ls -l /var/lib/mysql/
# ibdata1       - 共享表空間(InnoDB 數據+索引)
# ib_logfile0/1 - Redo Log(崩溃恢復)
# mysql/        - 系統庫
# test/         - 測試庫
# your_db/      - 業務庫(創建後出現)

3. 日誌目錄 /var/log


# 關鍵日誌:
/var/log/mysqld.log     # 錯誤日誌、啟動信息
/var/log/mysqld-slow.log # 慢查詢日誌(需配置開啟)

4. 端口驗證


netstat -anp | grep 3306
# tcp  0  0 0.0.0.0:3306  0.0.0.0:*  LISTEN  1234/mysqld

五、生產環境調優清單

MySQL 核心參數調優(/etc/my.cnf [mysqld] 區塊)


# InnoDB 核心
innodb_buffer_pool_size=2G        # 物理記憶體 60-70%,核心參數
innodb_log_file_size=256M         # Redo Log 大小
innodb_log_buffer_size=16M        # Log Buffer
innodb_flush_log_at_trx_commit=1  # ACID 保證,2 可提升性能
innodb_file_per_table=ON          # 獨立表空間,便於管理

# 連接與緩存
max_connections=1000              # 最大連接數
thread_cache_size=100             # 線程緩存
table_open_cache=2000             # 表緩存
query_cache_type=0                # 5.7+ 建議關閉查詢緩存
query_cache_size=0

# 字符集統一
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

Tomcat 生產調優

  • 啟用 NIO/APR 連接器提升併發
  • 配置 AccessLogValve 記錄訪問日誌
  • 設置 ErrorReportValve 隱藏版本信息
  • 配置 JMX 監控(jconsole/VisualVM 連接)

系統級優化


# /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

# /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
vm.swappiness = 10

六、常見問題排查

問題排查方向
Tomcat 啟動慢熵源不足 → 配置 -Djava.security.egd=file:/dev/./urandom
MySQL 連接拒絕bind-address、防火牆、skip-networking、權限表
中文亂碼字符集不一致:DB/表/列/連接/應用全鏈路 utf8mb4
OOM 頻發堆大小、PermSize/Metaspace、代碼洩漏、GC 策略
磁盤空間暴增Binlog 未清理、慢查詢日誌、ibdata1 不收縮

遵循本文流程,可在 30 分鐘內搭建穩定可用的 Java Web 生產基礎環境。生產上線前,務必完成:安全加固、備份策略、監控告警、壓力測試、回滾預案五大項。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved