第三章 基础环境搭建:操作系统安装与初始化

说实话,MES系统能不能跑得稳,七成看基础环境。我见过太多项目,业务逻辑写得再好,结果操作系统没配好,三天两头出问题。这一章,咱们就把地基打牢。

3.1 操作系统选型与安装

我个人习惯用CentOS 7.9或Rocky Linux 8.x。为什么?因为MES系统通常需要长期稳定运行,Red Hat系的生态最成熟。Ubuntu Server也行,但很多工业软件厂商只认证了RHEL系。

安装时的几个关键点:

  • 磁盘分区:建议用LVM。我在项目中遇到过磁盘写满导致数据库崩溃的事,LVM可以动态扩容,关键时刻能救命。
  • 时区设置:必须设为Asia/Shanghai。MES系统的时间戳一旦乱掉,生产记录全对不上。
  • 最小化安装:别装GUI,浪费资源还增加攻击面。命令行搞定一切。

我的分区方案(生产环境):

  • /boot: 1GB
  • /: 50GB (系统核心)
  • /var: 100GB (日志,容易暴涨)
  • /data: 剩余全部 (数据库、应用数据)

3.2 网络配置与防火墙规则

MES系统不是孤岛。它要和PLC、ERP、SCADA通信。网络配不好,数据就传不动。

网络配置要点:

  • 使用静态IP,别用DHCP。你想想看,数据库服务器IP突然变了,所有客户端都得改配置,多麻烦。
  • 配置好DNS和hosts文件。我习惯把集群内所有节点的IP和主机名写进/etc/hosts,避免DNS解析延迟。

防火墙规则(用firewalld):

# 开放MES常用端口
firewall-cmd --permanent --add-port=8080/tcp  # Web应用
firewall-cmd --permanent --add-port=3306/tcp  # MySQL
firewall-cmd --permanent --add-port=5432/tcp  # PostgreSQL
firewall-cmd --permanent --add-port=22/tcp    # SSH管理
firewall-cmd --reload

注意:我曾经遇到一个坑——防火墙规则配好了,但忘了保存。服务器重启后,所有端口全被挡了。记得用--permanent参数。

3.3 数据库安装与调优

MES系统的核心是数据。数据库装不好,后面全是扯淡。我主要用MySQL 8.0或PostgreSQL 14+。

安装步骤(以MySQL为例):

# 安装MySQL 8.0
yum install -y mysql-server
systemctl start mysqld
systemctl enable mysqld

# 安全初始化
mysql_secure_installation

调优参数(my.cnf):

[mysqld]
innodb_buffer_pool_size = 4G    # 设为物理内存的70%
innodb_log_file_size = 1G       # 减少日志切换频率
max_connections = 500           # MES并发连接数
query_cache_type = 0            # 8.0已废弃,关掉

我的经验:数据库调优不是一锤子买卖。上线后要监控慢查询,用pt-query-digest分析。我见过一个MES系统,就因为一条没加索引的SQL,把整个库拖垮了。

3.4 JDK/.NET运行时环境配置

MES应用层通常用Java或C#开发。运行时环境配不好,应用就起不来。

JDK配置(Java 11 LTS):

# 安装OpenJDK 11
yum install -y java-11-openjdk-devel

# 设置环境变量
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=\$JAVA_HOME/bin:\$PATH
EOF

source /etc/profile

.NET运行时(.NET 6/8):

# 添加微软源
rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
yum install -y dotnet-sdk-6.0

避坑指南:我曾经在部署.NET应用时,发现运行时版本不对。项目用的是.NET 6,服务器装的是.NET 8,结果应用直接崩溃。一定要核对版本号,用dotnet --list-sdks确认。

3.5 知识体系总览

下面这张图,把基础环境搭建的核心逻辑串起来了。你照着这个思路走,不会乱。

MES基础环境搭建知识体系 基础环境搭建 操作系统安装与初始化 网络配置与防火墙 数据库安装与调优 JDK/.NET运行时配置 LVM分区 时区设置 静态IP 防火墙规则 参数调优 慢查询监控 版本匹配 环境变量 每个环节都直接影响MES系统的稳定性与性能

基础环境搭建,说白了就是给MES系统找个好房子。操作系统是地基,网络是水电,数据库是仓库,运行时是装修。哪个环节出问题,房子都住不安稳。

嗯,这一章的内容就到这儿。你按这个步骤来,至少能避开我当年踩过的那些坑。

专注资料整理