本文的目的:
教大家在本地进行开发时,如何让项目访问内网的数据库
前言:
机器A:代码服务器,外网ip:111.11.111.111
机器B:数据库,内网IP:22.22.22.222
机器A能访问机器B,本地电脑C能通过ssh访问A但是访问不了B
教程:
第一步:
在centos里将windows下生成的公私钥,拷贝到/root/.ssh/目录下(代码跑在centos里)
第二步:
建立隧道,ssh命令的语法:ssh -fN -L<local-ip>:local-port:remote-ip:remote-port ssh-user@ssh-ip
ssh -fN -L(要绑定到的本地端口):(服务器B的Host):(服务器B上要访问的端口号) -p(服务器A的端口,默认为22) (服务器A的账户):(服务器A的Host)
建立mysql隧道:如果本地有MySQL,要记得关闭因为占用了3306端口
ssh -fN -L3306:22.22.22.222:3306 -p22 user@111.11.111.111
第三步:
修改代码:将数据库的ip改成访问本地ip,以前远程IP访问不了,现在访问本地的就会把这个端口号的给映射出去,记得关掉本地的mysql服务
$config['db_main'] = array('127.0.0.1:3306', 'root', 'root', 'admin');
网友评论