如何设置OpenShift的端口转发(Port Forwarding)
程序员文章站
2024-01-07 12:06:34
...
什么是OpenShift?如何注册使用OpenShift?
请参见《如何注册OpenShift和创建应用》。
为什么要设置端口转发(Port Forwarding)
当你试图在linux界面键入mysql -h hostIP,希望远程操作OpenShift的MySQL数据库时,你会遇到ERROR 2003 (HY000): Can’t connect to MySQL server on hostIP (111)这样的报错。这是因为OpenShift为我们安装的MySQL数据库仅支持localhost连接,外部IP是无法直接访问数据库的。因此如果想要访问MySQL数据库,我们就必须要“绕路”。端口转发就是OpenShift为我们提供的“绕路”办法。
如何设置端口转发
步骤一:
为了能够最大限度发挥rhc-port-forward工具的能力就必须确保工具的版本是最新。如果系统中原来是通过ruby gem安装的OpenShift Clinet Tools,那么
如果系统中原来是通过rpm安装的OpenShift Clinet Tools,那么:
步骤二:
现在可以使用rhc-port-forward工具,进行转发设置了。在shell中键入如下命令:
只需要告诉rhc-port-forward是哪个用户下的哪个装有MySQL的应用就可以了。rhc-port-forward会自动分析应用并完成地址转发的设置。命令执行成功后,应该会有如下显示:
端口转发的服务已经就绪。
提示:据说MacOS系统还需要做一些额外的设定,才能使端口转发服务正常运行。本人木有Mac笔记本无法亲自测试。只能贴出一段文字供MacOS的使用者参考。There is an extra step to enable port forwarding on MacOS based systems. You will need to create an alias on your loopback device for the IP address of your OpenShift server. In the example above, my IP address is 127.13.4.129. Given that, I would issue the following command at a terminal prompt:
$ sudo ifconfig lo0 alias 127.13.4.129
步骤三:
打开一个新的telnet窗口或者ssh窗口(依据你连接服务器的方式),尝试使用MySQL客户端连接数据库。
如果连接成功,你就可以看到密码输入提示符了。
提示:在应用中完成mysql数据库的安装后,OpenShift会显示一个完整的参数列表,包括了ip地址、用户名及密码。这些信息你应该及时地做笔记备份。
本文的镜像链接: http://www.jiani.info/2012/08/%e5%a6%82%e4%bd%95%e8%ae%be%e7%bd%aeopenshift%e7%9a%84%e7%ab%af%e5%8f%a3%e8%bd%ac%e5%8f%91port-forwarding/
请参见《如何注册OpenShift和创建应用》。
为什么要设置端口转发(Port Forwarding)
当你试图在linux界面键入mysql -h hostIP,希望远程操作OpenShift的MySQL数据库时,你会遇到ERROR 2003 (HY000): Can’t connect to MySQL server on hostIP (111)这样的报错。这是因为OpenShift为我们安装的MySQL数据库仅支持localhost连接,外部IP是无法直接访问数据库的。因此如果想要访问MySQL数据库,我们就必须要“绕路”。端口转发就是OpenShift为我们提供的“绕路”办法。
如何设置端口转发
步骤一:
为了能够最大限度发挥rhc-port-forward工具的能力就必须确保工具的版本是最新。如果系统中原来是通过ruby gem安装的OpenShift Clinet Tools,那么
$ sudo gem update rhc
如果系统中原来是通过rpm安装的OpenShift Clinet Tools,那么:
$ sudo yum update rhc
步骤二:
现在可以使用rhc-port-forward工具,进行转发设置了。在shell中键入如下命令:
$ rhc-port-forward -a applicationName -l usermail -p password
只需要告诉rhc-port-forward是哪个用户下的哪个装有MySQL的应用就可以了。rhc-port-forward会自动分析应用并完成地址转发的设置。命令执行成功后,应该会有如下显示:
引用
Checking available ports...
Binding httpd -> 127.13.4.129:8080...
Binding httpd -> 127.13.4.130:8080...
Binding mysqld -> 127.13.4.129:3306...
Use ctl + c to stop
Binding httpd -> 127.13.4.129:8080...
Binding httpd -> 127.13.4.130:8080...
Binding mysqld -> 127.13.4.129:3306...
Use ctl + c to stop
端口转发的服务已经就绪。
提示:据说MacOS系统还需要做一些额外的设定,才能使端口转发服务正常运行。本人木有Mac笔记本无法亲自测试。只能贴出一段文字供MacOS的使用者参考。There is an extra step to enable port forwarding on MacOS based systems. You will need to create an alias on your loopback device for the IP address of your OpenShift server. In the example above, my IP address is 127.13.4.129. Given that, I would issue the following command at a terminal prompt:
$ sudo ifconfig lo0 alias 127.13.4.129
步骤三:
打开一个新的telnet窗口或者ssh窗口(依据你连接服务器的方式),尝试使用MySQL客户端连接数据库。
$ mysql -h ip -u username -p
如果连接成功,你就可以看到密码输入提示符了。
提示:在应用中完成mysql数据库的安装后,OpenShift会显示一个完整的参数列表,包括了ip地址、用户名及密码。这些信息你应该及时地做笔记备份。
本文的镜像链接: http://www.jiani.info/2012/08/%e5%a6%82%e4%bd%95%e8%ae%be%e7%bd%aeopenshift%e7%9a%84%e7%ab%af%e5%8f%a3%e8%bd%ac%e5%8f%91port-forwarding/