数据库连接字符串或密码等身份验证信息几乎不应存储在版本控制系统中.
看起来为OpenShift上托管的应用程序指定环境变量的唯一方法是将它们提交到Git存储库.有一个关于这个的OpenShift论坛的讨论,但问题没有有用的建议解决方案.
我可以使用另一种方法将身份验证信息添加到我的应用程序而无需将其提交到存储库吗?
我做了如下
添加了MySQL 5.1数据库.请记下这些凭证:
Root User: xxxxxxx
Root Password: xxxxxxx
Database Name: php
Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/
Run Code Online (Sandbox Code Playgroud)
您还可以通过嵌入phpmyadmin-3.4来管理新的MySQL数据库.phpmyadmin用户名和密码将与上面的MySQL凭据相同.
phpMyAdmin 3.4补充说.请再次记下这些MySQL凭据:
Root User: xxxxxxx
Root Password: xxxxxxx
URL: https://php-doers.rhcloud.com/phpmyadmin/
Run Code Online (Sandbox Code Playgroud)
我尝试使用波纹管PDO代码连接数据库.但它不起作用
$dbh = new PDO('mysql:host=mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/;dbname=php', "xxxxxx, "xxxxxx");
Run Code Online (Sandbox Code Playgroud)
我不知道连接URL是什么意思?
我想设置访问我的开放式班次应用程序.我安装了rhc客户端并想运行
rhc setup
Run Code Online (Sandbox Code Playgroud)
我被问到提供服务器主机名:
输入服务器主机名:| openshift.redhat.com |
所以我输入我的应用程序的主机名:http://blog-trampkiwpodrozy.rhcloud.com
不幸的是,我收到以下错误消息:
OpenShift服务器没有正确响应.检查' http://blog-trampkiwpodrozy.rhcloud.com/broker/rest/api '是否是您服务器的正确URL.服务器可能处于脱机状态或配置错误
任何想法如何处理这个?
在OpenShift中是否存在Let's Encrypt的集成(或者,这是否计划好了)?让我们的加密将发布在90天后到期的证书[1] - 并且他们计划的很大一部分是通过使用他们的证书的人进行自动化设置,以便他们总是使用新证书进行更新.鉴于此,OpenShift的一些集成将是必要的.
谢谢,
oc login使用OpenShift PaaS时,我为工具中的服务器URL提供了什么?
我正在尝试将我的OpenShift Online v2应用程序迁移到v3,遵循从OpenShift迁移中心链接到的PHP应用程序的说明.那个页面说要按照模式运行一些东西oc new-app https://github.com/<github-id>/<repo-name>.git --name=<app-name> -e <ENV_VAR_NAME>=<env_var_value>.在追踪到oc的下载(这不容易)后,我尝试用我的repo URL*运行该命令; 这导致:
$ oc new-app https://USERNAME@bitbucket.org/USERNAME/PROJECTNAME.git --name=PROJECTNAME
error: Missing or incomplete configuration info. Please login or point to an existing, complete config file:
1. Via the command-line flag --config
2. Via the KUBECONFIG environment variable
3. In your home directory as ~/.kube/config
To view or setup config directly use the 'config' command.
Run Code Online (Sandbox Code Playgroud)
不知道什么样的子命令oc config使用,我搜查,发现获得有关CLI开始,这表示使用oc login启动配置过程.但当我运行时,我得到:
Server [https://localhost:8443]:
Run Code Online (Sandbox Code Playgroud)
在使用OpenShift …
Openshift定价模型表明您可以在免费套餐中拥有3个档位.
其他服务通常会解释他们可以拥有的"网络工作者"数量的免费等级.
那么什么是openhift的装备呢?我知道你可以在每个装备中安装不同的编程环境,但如果你在所有3个免费套装中安装相同的编程环境(例如:ruby),你是否有3个网络工作者在同一时间运行?(如:改进可扩展性和冗余;它们是负载均衡的吗?)
我在OpenShift上托管了网站.我尝试使用php的邮件功能发送邮件.它只是返回true,但没有收到我发送给他的邮件.请告诉我发送邮件的程序.
我搜索了很多,但没有一个选项有效.
我想让npm在openshift上工作.当我尝试使用npm install以下方法安装包时:
$npm install bower
npm ERR! Error: EACCES, mkdir '/var/lib/openshift/5425aaa04******0094/.npm'
npm ERR! { [Error: EACCES, mkdir '/var/lib/openshift/5425aaa04******0094/.npm']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/var/lib/openshift/5425aaa04******0094/.npm' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 2.6.32-431.29.2.el6.x86_64
npm ERR! command "node" "/usr/bin/npm" "install" "bower"
npm ERR! cwd /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies
npm ERR! node -v v0.6.20
npm ERR! npm -v 1.1.37
npm ERR! path /var/lib/openshift/5425aaa04******0094/.npm
npm ERR! code EACCES
npm …Run Code Online (Sandbox Code Playgroud) 我在Openshift中创建了一个Tomcat 7应用程序,并在那里部署了我的Web服务.问题是我的Web服务应该调用另一个服务.没有显示结果.我测试了localhost中的服务,它工作得很好但不是在openshift中!
我应该将服务的URL更改为myapp-myDomain.rhcloud.com吗?或者有什么问题?
更新
它是否与端口转发有关,因为我的应用程序试图调用部署在tomcat中的另一个Web服务以及另一个来自wsdl url地址的外部服务(扮演客户端Web服务的角色),所有部署在Openshift中?
我收到以下异常,看起来像某种Permission问题WRT Axis上Openshift.
完成StackTrace
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:460)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
org.apache.axis2.AxisFault: Permission denied
org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197)
org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404)
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.net.BindException: Permission denied
java.net.PlainSocketImpl.socketBind(Native Method)
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
java.net.Socket.bind(Socket.java:631)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:139)
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:125)
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621)
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404)
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Run Code Online (Sandbox Code Playgroud)
这里有一个带有详细信息的简单示例
在默认的openshift安装中,有一个未使用的项目标题为kube-system.看似像openshift-infra指标,default路由器和注册表,以及openshift全局模板.
什么是kube-system用于虽然项目?我找不到任何关于它的文档.