银河麒麟V10服务器断网安装全攻略:MySQL5.7+nginx+php+nodejs一步到位(附本地YUM源配置)
银河麒麟V10服务器离线部署全栈环境实战指南
在企业级IT基础设施部署中,安全隔离环境下的服务器配置是许多技术团队面临的现实挑战。银河麒麟V10作为国产化服务器操作系统的重要选择,其在断网环境下的软件部署能力直接关系到企业关键业务的连续性。本文将系统性地介绍如何在完全离线的银河麒麟V10服务器上,搭建包含MySQL5.7、nginx、php和nodejs的全栈运行环境,并重点解析本地YUM源的高效配置方法。
1. 离线环境部署前的系统准备
在开始软件安装前,需要对银河麒麟V10服务器进行必要的环境配置。这些准备工作将直接影响后续所有组件的安装成功率。
防火墙与安全策略调整是首要步骤。在离线环境中,我们建议临时关闭防火墙以避免潜在的端口冲突:
systemctl stop firewalld systemctl disable firewalld对于可能存在的软件冲突,特别是与MySQL相关的mariadb组件,需要彻底移除:
rpm -qa | grep mariadb | xargs rpm -e --nodeps rpm -qa | grep mysql | xargs rpm -e --nodeps银河麒麟V10通常预装了OpenJDK,但我们需要验证Java环境是否符合要求:
java -version find / -name jre # 定位Java安装路径如果需要进行Java环境变量配置,可编辑用户配置文件:
vim ~/.bashrc添加以下内容(路径需根据实际查找结果调整):
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH使配置立即生效:
source ~/.bashrc2. MySQL5.7的离线安装与配置
MySQL作为核心数据库服务,在离线环境中的安装需要特别注意依赖关系的处理。银河麒麟V10环境下推荐使用RPM包方式进行安装。
安装包准备阶段,需要确保已获取以下组件:
- mysql-community-server-5.7.x.rpm
- mysql-community-client-5.7.x.rpm
- mysql-community-libs-5.7.x.rpm
- mysql-community-common-5.7.x.rpm
使用rpm命令进行顺序安装(注意依赖关系):
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm安装完成后,初始化MySQL系统并设置root密码:
systemctl start mysqld grep 'temporary password' /var/log/mysqld.log mysql_secure_installation对于生产环境,建议进行以下安全加固配置:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ComplexPassword123!'; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost'); DROP DATABASE IF EXISTS test; FLUSH PRIVILEGES;配置MySQL开机自启动:
systemctl enable mysqld3. 本地YUM源的深度配置技巧
在断网环境中,本地YUM源的合理配置是高效部署其他组件的基础。银河麒麟V10的系统镜像中包含了丰富的软件包,正确配置后可以解决大部分依赖问题。
3.1 系统镜像的挂载与处理
首先需要将银河麒麟V10的安装ISO镜像挂载到系统:
mkdir -p /media/cdrom mount -o loop Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.iso /media/cdrom创建本地仓库目录并复制镜像内容:
mkdir -p /mnt/localrepo cp -r /media/cdrom/* /mnt/localrepo/3.2 YUM源文件的精细配置
备份原有YUM源配置:
mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/创建新的本地源配置文件:
vim /etc/yum.repos.d/kylin-local.repo添加以下内容(路径根据实际情况调整):
[local-base] name=Kylin Local Base baseurl=file:///mnt/localrepo/BaseOS enabled=1 gpgcheck=0 [local-appstream] name=Kylin Local AppStream baseurl=file:///mnt/localrepo/AppStream enabled=1 gpgcheck=0YUM缓存重建是确保配置生效的关键步骤:
yum clean all yum makecache验证本地源是否可用:
yum repolist enabled4. 基于本地源的Web环境部署
4.1 Nginx的安装与优化
通过配置好的本地YUM源,可以便捷地安装nginx:
yum install -y nginx安装完成后,建议进行以下性能优化配置:
vim /etc/nginx/nginx.conf调整关键参数:
worker_processes auto; worker_connections 1024; keepalive_timeout 65; gzip on;启动nginx并设置开机自启:
systemctl start nginx systemctl enable nginx4.2 PHP环境的集成部署
银河麒麟V10的本地源中通常包含PHP7.2或7.3版本:
yum install -y php php-fpm php-mysqlnd php-opcache配置PHP-FPM与nginx的协作:
vim /etc/php-fpm.d/www.conf修改以下参数:
user = nginx group = nginx listen = /run/php-fpm/www.sock listen.owner = nginx listen.group = nginx在nginx配置中添加PHP支持:
vim /etc/nginx/conf.d/php.conf添加内容:
location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }启动PHP-FPM服务:
systemctl start php-fpm systemctl enable php-fpm4.3 Node.js的安装与生态配置
通过本地源安装Node.js:
yum install -y nodejs npm由于离线环境无法直接使用npm安装全局包,可以采用以下替代方案:
- 在有网络的环境中下载所需模块:
npm pack express mongoose lodash- 将生成的.tgz文件复制到离线服务器
- 在离线环境中进行本地安装:
npm install ./express-4.17.1.tgz对于复杂的项目,可以预先在有网络的环境中执行:
npm install tar -czvf node_modules.tar.gz node_modules/然后将压缩包解压到离线项目的node_modules目录。
5. 服务整合与系统优化
5.1 服务联动配置
确保各服务之间的协同工作,特别是nginx与后端服务的配合。一个典型的多服务整合配置示例如下:
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; # Node.js应用 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; } location /api/ { proxy_pass http://localhost:8080; # Java应用 } location ~ \.php$ { # PHP处理配置 } }5.2 系统资源监控与调优
在离线环境中,资源监控尤为重要。可以使用银河麒麟自带的系统监控工具:
yum install -y sysstat配置sysstat数据收集:
vim /etc/sysconfig/sysstat修改参数:
HISTORY=28 SADC_OPTIONS="-S DISK"启用服务:
systemctl enable sysstat systemctl start sysstat定期查看系统性能报告:
sar -u 1 5 # CPU使用率 sar -r 1 5 # 内存使用 sar -b 1 5 # I/O统计5.3 安全加固措施
在离线环境中,基础安全防护不容忽视:
- SSH安全配置:
vim /etc/ssh/sshd_config修改关键参数:
PermitRootLogin no PasswordAuthentication no AllowUsers deployadmin- 定期日志审查:
yum install -y logwatch vim /etc/logwatch/conf/logwatch.conf- 文件系统保护:
chattr +i /etc/passwd /etc/shadow chmod 600 /etc/my.cnf6. 常见问题诊断与解决
在离线部署过程中,可能会遇到各种环境问题。以下是几个典型场景的解决方案:
依赖缺失问题: 当遇到缺少依赖包时,可以尝试以下步骤:
- 在系统镜像的Packages目录中搜索相关rpm包
- 使用rpm命令手动安装:
rpm -ivh --nodeps package-name.rpm服务启动失败排查: 以nginx为例,系统化的排查步骤:
journalctl -xe -u nginx # 查看详细日志 nginx -t # 测试配置文件 strace -f nginx # 跟踪系统调用磁盘空间不足处理: 离线环境容易积累大量安装包和日志,定期清理:
yum clean all rm -rf /var/cache/yum logrotate -f /etc/logrotate.conf对于MySQL特有的问题,可以检查错误日志:
tail -100 /var/log/mysqld.log在完成所有组件安装后,建议创建一个系统快照或制作自定义镜像,以便后续快速部署相同环境。银河麒麟V10提供了完善的系统备份工具:
yum install -y kylin-backup kylin-backup --create --output /backup/system-backup.img