我是OpenShift PaaS板块的新手.我还在评估OpenShift并计划升级到"铜奖计划",但首先我想了解定价部分中"gear/hour"的含义是什么?如何计算结算金额?
我在OpenShift上托管了网站.我尝试使用php的邮件功能发送邮件.它只是返回true,但没有收到我发送给他的邮件.请告诉我发送邮件的程序.
我搜索了很多,但没有一个选项有效.
我已经在openshift中成功部署了我的Django项目.但我需要能够提供用户上传的文件.我为此用户MEDIA_ROOT和MEDIA_URL.我在这里遵循了本教程,但没有任何反应.我不得不改变MEDIA_ROOT,因为我认为那是不正确的.所以我的MEDIA_ROOT看起来像
MEDIA_ROOT = os.path.join(os.environ.get('OPENSHIFT_DATA_DIR', ''),'media')
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)
我在/ wsgi文件夹中添加了.htaccess,正如文章中所述
RewriteEngine On
RewriteRule ^application/media/(.+)$ /static/$1 [L]
Run Code Online (Sandbox Code Playgroud)
并且创建了构建脚本,以便在文章中提到静态媒体的符号链接.
#!/bin/bash
if [ ! -d $OPENSHIFT_DATA_DIR/media ]; then
mkdir $OPENSHIFT_DATA_DIR/media
fi
ln -sf $OPENSHIFT_DATA_DIR/media $OPENSHIFT_REPO_DIR/wsgi/static/media
Run Code Online (Sandbox Code Playgroud)
在我的urls.py中,我添加了
urlpatterns += static(settings.MEDIA_ROOT, document_root=settings.MEDIA_URL)
Run Code Online (Sandbox Code Playgroud)
但我仍然不能为他们服务.我也尝试不在urls.py中包含django静态方法,但结果相同.
在另一个教程中.htacces放在静态文件夹中.难道我做错了什么?
我想让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
用于虽然项目?我找不到任何关于它的文档.
在烧瓶中,如何提供不在静态文件夹中的图像?
我目前将用户上传的照片保存在flask文件夹之外的目录中(打开openshift
,当前保存在数据文件夹下的图像,并且文件夹app-root/data
文件位于其中app-root/repo/
).
在我的模板中,我如何提供图像文件?
使用url_for
,如何引用flask文件夹之外的这些图像文件?
- data/
|
-- uploads/
- repo/
|
-- app/
|
-- __init__.py
Run Code Online (Sandbox Code Playgroud)
正如您可以在flask app文件夹外看到数据文件夹.如何data/uploads
从flask app目录生成存储在(一级以上)文件的链接是个问题?
自从过去3到4年以来我一直在使用Heroku,现在我有客户想要使用openshift来进行ruby应用程序部署.
我知道heroku功能和openshift的新功能.我知道openhift的一些功能,如齿轮,墨盒,市场等.
两者都使用aws进行在线服务和相同的git部署策略.
我想知道opensuift over heroku的优势是什么来部署ruby应用程序?
在Tomcat的官方页面中,它说Tomcat 7支持Java 8.如果我下载它并使用Java 8运行它可以工作.
但是,在Openshift上是Tomcat 7(JBoss EWS 2.0).在这个网页中,它说EWS 2.0 不支持Java 8.如果我将我的Java 8应用程序部署到Openshift(Tomcat 7),它就无法运行.
为什么?
我尝试在Openshift上使用Tomcat 7安装Java 8:https://stackoverflow.com/a/23895161/2442133 但它并不适合我.我有错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping':
Initialization of bean failed; nested exception is
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading
class [pl.xxx.controller.HomeController] for bean with name 'homeController'
defined in file [/var/lib/openshift/xxx/app-
root/runtime/dependencies/jbossews/webapps/web1/WEB-
INF/classes/xxx/controller/HomeController.class]: problem with class file or
dependent class; nested exception is java.lang.UnsupportedClassVersionError:
xxx/controller/HomeController : Unsupported major.minor version 52.0 (unable to
load class xxx.controller.HomeController)
Run Code Online (Sandbox Code Playgroud)
Unsupported …
我似乎遇到了一个简单的问题,感觉我错过了一些必不可少的东西.
我在我们公司有一个私人码头图像注册表,它托管我们开发的所有docker图像.
在我们的构建过程中不断更新此注册表,并且经常将新图像推送到它.
现在我们正在使用一个openshift系统,它有一些图像和它自己的注册表.
在这两个系统之间同步图像的最佳方法是什么?
例如,我们有一个像这样部署的应用程序:
oc new-app myregistry.mydomain.edu/binbase/minix
Run Code Online (Sandbox Code Playgroud)
运行得很好.
我们现在想用最新的更改更新此部署,为此我做了:
oc import-image minix
Run Code Online (Sandbox Code Playgroud)
标签规格创建PullSpec图像最近23小时前myregistry.mydomain.edu/binbase/minix:latest f6646382cfa32da291e8380421ea656110090256cd195746a5be2fcf61e4edf1
这是正确的图像,现在执行一个
oc deploy minix --latest
Run Code Online (Sandbox Code Playgroud)
但这仍然部署当前图像,而不是新更新的图像.
知道为什么这个,或者我们做错了什么?
所有我想要todo现在重新部署最新的图像.
亲切的问候