避开网络配置大坑:有线桥接模式下,手把手在CentOS 7部署RuoYi前后端分离项目
避开网络配置大坑有线桥接模式下手把手在CentOS 7部署RuoYi前后端分离项目在虚拟机环境中部署企业级开源项目时网络配置往往是第一个拦路虎。我曾亲眼见过不少开发者在RuoYi项目部署初期因为宿主机与虚拟机之间的网络连通问题耗费数天时间。本文将聚焦有线桥接模式这一最稳定的网络方案带你避开90%的初期部署陷阱。1. 网络模式选择为什么桥接模式是首选1.1 桥接与NAT的本质区别桥接模式相当于让虚拟机直接接入物理网络获得与宿主机同网段的独立IP。而NAT模式则是通过宿主机进行地址转换形成私有子网。两者核心差异体现在特性桥接模式NAT模式IP分配与宿主机同网段独立子网(如192.168.122.x)外部设备访问直接可达需端口转发网络拓扑平行于宿主机嵌套在宿主机网络下适用场景服务器部署/多设备互通个人开发测试1.2 无线网络的特殊限制重要发现在无线网络环境中由于802.11协议限制桥接模式实际上是通过NAT模拟实现的。这会导致虚拟机无法获得真正的独立IP同局域网设备无法直接访问虚拟机端口映射规则复杂易出错实测数据在5GHz频段下桥接模式的吞吐量比NAT模式低40%左右2. 有线桥接实战配置2.1 宿主机网络信息采集首先在Windows宿主机执行ipconfig /all记录关键参数IPv4地址如192.168.1.100子网掩码如255.255.255.0默认网关如192.168.1.1DNS服务器如8.8.8.82.2 VMware虚拟机设置关闭虚拟机电源右键虚拟机 → 设置 → 网络适配器选择桥接模式并勾选复制物理网络连接状态2.3 CentOS 7静态IP配置编辑网络配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33关键参数修改示例BOOTPROTOstatic IPADDR192.168.1.150 # 与宿主机同网段的未占用IP NETMASK255.255.255.0 GATEWAY192.168.1.1 DNS18.8.8.8 ONBOOTyes重启网络服务systemctl restart network2.4 连通性验证三板斧基础连通测试ping 192.168.1.1 # 测试网关 ping 8.8.8.8 # 测试外网 ping www.baidu.com # 测试DNS双向通信验证宿主机cmd执行ping 192.168.1.150虚拟机执行ping 192.168.1.100端口可用性检查telnet 192.168.1.150 22 # 测试SSH端口3. 基础环境部署要点3.1 MySQL 5.7避坑指南安装后务必执行# 修改密码策略 mysql SET GLOBAL validate_password_length4; mysql SET GLOBAL validate_password_policy0; # 创建远程访问账号 mysql CREATE USER ruoyi% IDENTIFIED BY RuoYi123; mysql GRANT ALL PRIVILEGES ON *.* TO ruoyi%;3.2 Redis关键配置修改/etc/redis.confbind 0.0.0.0 protected-mode no requirepass RuoYiRedis123重启服务systemctl restart redis4. RuoYi专项部署技巧4.1 前端部署优化方案修改vue.config.js中的API地址devServer: { proxy: { /prod-api: { target: http://192.168.1.150:8080, changeOrigin: true } } }Nginx配置建议location / { root /home/ruoyi/projects/ruoyi-ui; index index.html; try_files $uri $uri/ /index.html; } location /prod-api/ { proxy_pass http://192.168.1.150:8080/; proxy_set_header Host $host; }4.2 后端JAR包调优启动参数推荐nohup java -jar -Xms512m -Xmx1024m \ -Dspring.profiles.activeprod \ -Dserver.port8080 \ ruoyi-admin.jar ruoyi.log 21 关键检查点application-prod.yml中的数据库连接Redis主机地址配置文件上传路径权限5. 排错工具箱5.1 常见问题速查表现象可能原因解决方案前端无法加载验证码API地址未正确代理检查Nginx的proxy_pass配置数据库连接失败3306端口未开放firewall-cmd --add-port3306/tcpRedis超时保护模式未关闭确认protected-modeno文件上传失败目录权限不足chmod -R 777 /home/ruoyi/upload5.2 日志分析要点后端日志tail -f ruoyi.log | grep -E ERROR|ExceptionNginx访问日志tail -f /var/log/nginx/access.logMySQL错误日志tail -f /var/log/mysqld.log在实际部署中遇到过最棘手的问题是Nginx的proxy_pass路径末尾斜杠问题——当配置为http://backend/时会移除URI前缀而不带斜杠则会保留完整路径。这个细节曾导致API请求404错误花费两小时才定位到问题根源。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2555670.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!