1. 环境准备与基础组件部署
医院信息系统(HIS)的部署就像搭建一栋数字化医院大楼,需要先打好地基。我建议使用CentOS 7作为基础操作系统,这个版本在企业级应用中稳定性已经得到充分验证。内存建议配置8GB以上,特别是当需要同时运行Elasticsearch和MySQL这些内存消耗较大的服务时。
在开始前,我们需要准备好以下组件:
- JDK 1.8:Java应用的运行环境
- Nginx 1.24:作为Web服务器和反向代理
- MySQL 8.0:关系型数据库
- Redis 6.x:缓存服务
- Elasticsearch 7.x:全文检索服务
- RabbitMQ 3.8:消息队列
我遇到过不少新手在环境准备阶段就踩坑,最常见的问题是依赖包缺失。建议先执行yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel安装基础开发工具链。对于生产环境,还需要考虑配置防火墙规则和SELinux策略,这里我们可以暂时关闭防火墙和SELinux以便测试:
bash复制systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Nginx部署与动静分离配置
Nginx在这个架构中扮演着重要角色,它需要同时处理三项任务:
- 作为静态资源服务器托管Vue前端项目
- 作为反向代理将API请求转发到SpringBoot后端
- 提供负载均衡能力(虽然单机部署暂时用不到)
我推荐从源码编译安装Nginx,这样可以灵活启用需要的模块。以下是实测可用的编译参数:
bash复制./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-pcre
配置动静分离时,我踩过一个坑:location匹配规则顺序很重要。应该把精确匹配放在前面,模糊匹配放在后面。这是我的推荐配置:
nginx复制server {
listen 80;
server_name www.his.cn;
# 静态资源
location / {
root /usr/local/nginx/html;
try_files $uri $uri/ /index.html;
}
# API代理
location /prod-api
