openshift 3 mysql_最新OpenShift免费空间申请与使用教程-1G内存1G空间支持PHP和MysqL

一、OpenShift空间申请使用前必备工具

1、OpenShift官网:

1、官方网站:https://www.openshift.com/

2、OpenShift V3:https://manage.openshift.com/

2、Github账号(或者其他的git仓库也可以..)。注册git仓库是为了方便的实现代码的同步,从git仓库可以即时的将代码部署到openshift而无需重启,非常方便。免费开源Github Pages空间可绑域名搭建个人博客存放图片文件。

3、下载并安装oc命令行。使用oc命令行来上传代码,新建容器,推送镜像以及创建数据库。请注意,oc命令行是必选项,Github是可选项,方便同步代码的。这里是OpenShift CLI 下载地址。

1、https://console.starter-us-east-1.openshift.com/console/command-line

2、https://mirror.openshift.com/pub/openshift-v3/clients/3.5.5.10/linux/oc.tar.gz

3、https://mirror.openshift.com/pub/openshift-v3/clients/3.5.5.10/macosx/oc.tar.gz

4、https://mirror.openshift.com/pub/openshift-v3/clients/3.5.5.10/windows/oc.zip

4、这个是新版的OpenShift空间控制面板。(点击放大)

9a81e703e4df710a273b3ad8310ee755.gif

5、OpenShift空间目前免费配额是1G内存1G储存,可创建一个项目。

e378fc35e114398ba20985bc5eab1b70.gif

二、OpenShift空间创建项目

1、如果需要使用Github代码同步,请先准备一个新的项目,然后Fork代码或者PUSH代码.然后登录到openshift后台,新建项目。

8c53e29d0ca0a7f138c8c68bbbfaaa27.gif

2、选择开发语言,我们使用PHP。openshift V3还支持Java/JavaScript/.NET/Perl/Python/Ruby。

a6cc09d86bf74c63a119fb705dcc412a.gif

3、Openshift自带的PHP环境支持5.6和7.0,同时还支持2个知名框架,在这里我们直接使用空白的PHP环境,方便我们部署已经开发好的PHP程序。

e3a89e99b8301590b28a07a7e2962928.gif

4、请不要选择框架除非你会使用该框架,因为框架的目录结构与空白PHP环境不同,若你选择了框架环境,本文后面的操作可能无法执行!

97a9df63e65494f7491b286373186a19.gif

5、填写好项目名称以及Git仓库地址(必须填一个,你可以随便找个PHP项目填上,建议就填你自己创建的)Git链接是这个。

8bfcd877a013c21947344e5dd223fc18.gif

6、点击显示高级选项。

b6263eefdcf99ce0545aca650ebac74d.gif

7、在这里配置域名信息,同样也支持SSL。这一步可以再创建应用之后进行。

b6c5741989b89364ec5bec49a9ccda18.gif

8、设置负载平衡器,和旧版的负载均衡器一样..需要的话就用。

23f441af771d21f3e7a288564a2c5146.gif

9、设置一下应用内存,不要超过512M,超了一会没法运行MySQL容器了。

a28c320780f363af43270fd810ce766c.gif

78b66c866d7dd5c708e83168bb90a6df.gif

10、Openshift自动同步Github代码,需要设置Github项目设置中的webhooks.将api链接复制到Github中的webhooks中,选择json模式,添加即可。

a5f2a114d9b72698fef3774798a87613.gif

11、添加后代码仓库更新代码就会自动同步到openshift项目中了。但是要注意的是,Github是开源的代码仓库,所有源代码可读。

8ef396780b426180986c1cd33272dd3d.gif

12、也就是说,不要把敏感信息写到Github中,我的意思就是别把配置文件直接放到Github中。(点击放大)

08b7a2552d073b9ac5a4f961a6d91037.gif

13、设置完这些项目之后,过几分钟就可以在Openshift空间后台中看见我们的项目了。

ff6df71dec3ce8ca394eb8b63ef66522.gif

三、OpenShift空间安装Wordpress

1、点击域名就可以进入并看到熟悉的WordPress安装界面了(上传/下载/修改代码在后面)。

6cd5216bae6603c490d13651b85ac438.gif

2、接下来的操作需要oc命令行,我演示时使用的是Linux系统,在Windows环境下,命令一样,只不过需要吧oc.exe所在目录扔到Windows的PATH系统变量中。关于命令行官网有详细的教程:

1、https://docs.openshift.com/online/cli_reference/get_started_cli.html

3、Openshift支持MySQL5.5,5.6,5.7,根据需求选择。我这里使用5.5演示,先使用:

oc login https://api.starter-us-east-1.openshift.com

#注意:如果选的位于west的主机,登录命令是:

oc login https://api.starter-us-west-2.openshift.com

3、登录到openshift,用户名是注册邮箱,密码是密码.

0bfb2738e90046cc364f0596c2fc9a15.gif

4、接下来使用命令行创建数据库

oc new-app \

-e MYSQL_USER= \

-e MYSQL_PASSWORD= \

-e MYSQL_DATABASE= \

openshift/mysql-5<5>-centos7

5、注意你需要修改<>中的参数,如下图:

709a079065283a0055a01ac4b2410c28.gif

6、回到openshift后台可以看到MySQL已经跑起来了。

27f08dbe43bf7ecd3a98e2fa98763e10.gif

7、使用你自己设置的数据库密码和用户名以及数据库去安装wp。

333592dd4923daf93c9038385025e46c.gif

8、数据库IP可以再控制台查看,也可以用:oc status 来查看。

a8262cc471269a0deaa22e16591ba619.gif

9、确认无误,开始安装Wordpress。

78cf75c340e3628d888b0cff1cbcefb6.gif

10、安装成功了。

946bb36b0d0c5bccd7d3aba8abbce990.gif

四、OpenShift空间管理文件代码

1、接下来的问题是文件管理,除了使用Github自动更新代码,openshift不提供S*S&H和SFTP用于管理文件,除了使用OC命令行别无他法。使用oc命令行进行文件管理,查询一下已经存在pod(就是服务容器):oc get pods

fd797162dcf7c300388574e4c9b6bc71.gif

2、有两个正在运行的Runing的,我们需要修改web服务对于的pod。先使用如下命令来获取服务器上的代码(远端同步到本地):

oc rsync worlpress-1-c4zqc:

#<>中的是你本地对应的路径

3、接下来你在本地修改你的代码和文件,添加文件等.修改完毕后将原来的命令反过来同步到远端。

oc rsync worlpress-1-c4zqc:

4、请注意,若您在创建项目时使用了Git仓库,则该命令不会生效,您需要设置POD属性不在同步Git仓库才能上传!请按如下方式修改。

012bb24cbb53c1f04699be6822f1a153.gif

5、找到Wordpress。(点击放大)

4d371d0a4402f848c9137dfb6657ab10.gif

6、点击编辑。(点击放大)

d9e1b5a2595636261231ab336537572b.gif

7、然后进行修改,将选项勾去掉,这样修改之后,就可以使用命令推送代码,能修改代码自然也就可以修改WP语言,甚至直接换个程序啥的.如下图:(点击放大)

48fa5cf5f1204c5eea0e7337a79c8699.gif

8、openshiftV3和旧版一样提供了功能强大的shell功能,方便你进行一些操作,不过可惜的是,新版的shell操作只能在后台pods选项中的Terminal操作或使用oc命令行。(点击放大)

1cee4c094c46818db063c801182eb00c.gif

9、oc命令行使用进入shell:

oc rsh

五、OpenShift免费空间使用问题

1、使用Git同步的代码存在文件权限问题(无法自动更新,上传文件,下载插件等)。解决的办法是删除全部代码,在本地准备一份完全一样,但是文件权限正确的文件是用命令行推送(shell改不了权限)。另一个就是域名绑定存在问题,目前不支持。

2932bd43c355a5cd74352e87f32c470c.gif

2、请匆滥用OpenShift免费空间。OpenShift新版的空间支持多种语言,所以很多应用程序都可以在OpenShift空间上跑,但是这里还得提醒一下大家不要滥用OpenShift空间,来之不易,且用且珍惜,大家建立个人博客是最好不过的了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 简单web音频_Python Twisted web服务器音频fi

我尝试用python中的twisted创建一个简单的web服务器。不过&#xff0c;我无法提供m4a音频文件。在在当前程序中&#xff0c;当我加载http://localhost:8880/mp3.html时&#xff0c;它可以正常工作。它显示音频播放器和mp3播放。此外&#xff0c;程序同时打印“/mp3.html”和/测…

cpython教程_python高性能扩展工具-cython教程1快速入门

Cython不仅仅是一种编程语言。它的起源可以追溯到SAGE数学软件包&#xff0c;它用于提高数学计算性能&#xff0c;例如涉及矩阵的计算。更一般地说&#xff0c;我倾向于将Cython视为SWIG的替代品&#xff0c;为本机代码生成非常好的Python绑定。SWIG是最早和最好之一&#xff0…

golang mysql封装_golang如何封装路由

封装方式一、路由写在 main函数中&#xff0c;数据库初始连接放在 init() 函数中。、首先看 main.go一个初始化函数&#xff0c;初始化 dbfunc init() {db.Connect()}第二&#xff0c;路由func main() {// Configurerouter : gin.Default()// Set html render optionshtmlRende…

在java继承机制中 父类中的私有_Java中子类能继承父类的私有属性吗?

前段时间去听老师讲课的时候&#xff0c;老师告诉我子类是可以继承父类所有的属性和方法的。当时我是极其疑惑的&#xff0c;因为之前学校考试时这个考点我记得很清楚&#xff1a;子类只能继承父类的非私有属性和方法。老师给我的解释是这样的——先看下面一段代码/*** 定义父类…

堆栈关系java_从关键字说Java对象、引用、指针、堆栈的关系

前言&#xff1a;上一篇中我们介绍了new关键字 点击打开链接&#xff0c;new一个类&#xff0c;实际上就是调用该类的构造函数&#xff0c;返回该类的对象。如a new Animal();返回的对象赋给变量a。我们来分析一下内存分配的步骤&#xff0c;new一个类&#xff0c;实际上就创造…

java socket编程客户端_Java Socket编程 - 基于Socket实现HTTP下载客户端

没有借助任何第三方库&#xff0c;完全基于JAVA Socket实现一个最小化的HTTP文件下载客户端。完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送如何从Socket中接受HTTP响应(Response header, Response body)报文并解析与保存文件内容。如何通过SwingWork实…

java读c二进制文件_如何使用JAVA读取C / Matlab创建的二进制文件

小编典典正如我所猜测的那样&#xff0c;这是一个字节序问题&#xff0c;即您的二进制文件被写为低字节序的整数(可能是因为您使用的是Intel或类似的CPU)。但是&#xff0c;无论Java代码运行在哪个CPU上&#xff0c;它都在读取大端整数。为了显示该问题&#xff0c;以下代码将读…

java 通联支付接口_allinpay 通联支付接口实例

【实例简介】allinpay 支付的实例代码&#xff0c;这只是部分&#xff0c;需要其它的请联系我。 帮忙找【实例截图】【核心代码】201708081652114811└── unionorder_demo├── java│ └── uniondemo│ ├── WebContent│ │ ├── META-INF│ │ │ └…

java web tcp长连接超时时间_常用java web容器http长连接超时设置

1.http长连接相关知识http长连接对我们来说并不陌生&#xff0c;但长连接并不是永远不会关闭。对于HTTP长连接需要注意下面几点&#xff1a;keepalive_timeout指的是web服务器发送完最后一个响应报文后&#xff0c;开始计时&#xff0c;如果在keepalive_timeout指定的时间内还没…

java相遇问题_行程问题

行程问题 《行程问题》说课设计——现代教育信息技术与数学学科的整合福建省闽侯县尚干中心小学 林惠贞 邮编&#xff1a;350112 邮箱:zhenzi2277163.com众所周知,未来的教育&#xff0c;倡导开放式学习&#xff0c;把学习的地点扩展到社会、网络&…

jbutton 数组创建 java_java-将JButton数组添加到JPanel(按钮不可见)

我正在尝试使用Java创建一个简单的计算器.为此,我创建了一个JButton数组并将其添加到JPanel中.问题&#xff1a;按钮不可见.我还添加了一个JLabel和一个JButton进行测试,它们可以正确显示.编码&#xff1a;package test;import java.awt.BorderLayout;import javax.swing.*;pub…

jwt java 项目实例_JWT(JsonWebToken)+SpringMVC项目demo

【实例简介】JSON Web Token(JWT)是一个非常轻巧的规范。现在免费给大家分享一个JWT(JsonWebToken)SpringMVC项目的demo!【实例截图】【核心代码】jwt-demo└── jwt-demo├── pom.xml├── src│ └── main│ ├── java│ │ └── com│ │ └── hthl…

java写一个99到0_Java中一个普通的循环为何从10开始到99连续相乘会得到0?

【套装4本】java编程思想4第4版402.5元包邮(需用券)去购买 >这是一块非常简单的Java代码片段&#xff1a;public class HelloWorld{public static void main(String []args){int product 1;for (int i 10; i < 99; i) {product * i;}System.out.println(product);}}为什…

neo4j java查找_Spring-Boot使用neo4j-java-driver-- 查找两个节点之间关系的最短路径

一、Cypher数据create (小北:朋友圈{姓名:"小北", 喜欢的书类:"Poetry"}),(小菲:朋友圈{姓名:"小菲", 喜欢的书类:"Science Fiction"}),(小鹏:朋友圈{姓名:"小鹏", 喜欢的书类:"Music"}),(小颖:朋友圈{姓名:"…

java 返回两个集合_使用 java stream 获取两个集合之间的交集.差集

原始对象List hrProbationMainList new ArrayList();List hrProbationMains probationMainDao.findAll();获取交集对象stream 转换成流 (只有变成流才能操作)filter 封装判断条件(如果true 则收集到结果中,false则不收集)collect 收集结果返回到指定类型中//交集对象ListhrPro…

java重写重定向_JavaWeb请求转发与请求重定向理解

请求转发使用方法httpServletRequest.getRequestDispatcher("login.jsp").forward(httpServletRequest, servletresponse);此请求过程 完全是一次request对象 完成的。我们可以用 filter 截取用户的这次请求&#xff0c;然后利用这次请求 访问其它页面&#xff0c;当…

autojs调用java识字_autojs实现抽象类的继承

作者: 牙叔使用情景在java中, 抽象类必须继承才能使用, 那么在autojs中怎样实现继承抽象类呢?java中的实现创建一个抽象类package com.yashu;public abstract class Employee{ private String name; private String address; private int number; public abstract double com…

java wix_使用WIX升级MSI

我正在使用WIX创建一个MSI安装程序 . 一切都很好&#xff0c;我能够创建自己的产品并创造一切 .但是&#xff0c;当我想要创建升级时&#xff0c;它无法正常工作 .我使用了以下代码&#xff0c;其中$(var.ProductUpgradeCode)被定义并用作product元素中的upgrade-code .Minimum…

继承易错总结

1.继承会将所有的成员继承下来&#xff0c;但是继承方式限定的是继承下来成员的可见类型(如果是private继承&#xff0c;那么他不论哪里都是不可见的&#xff1b;如果是protected继承在类中是可见的&#xff0c;在类外是不可见的&#xff1b;如果是public继承&#xff0c;在任何…

flat在java中的含义_Java 9中Collectors.flatMapping()方法的重要性?

在Java 9中&#xff0c;向Collectors类添加了一个新方法&#xff1a;flatMapping()。它类似于Collectors.mapping()方法&#xff0c;其中flatMapping()方法允许我们处理嵌套的集合。 Collectors.flatMapping()方法需要的功能将被施加到输入元件和集电极积累通过功能传递的元件。…