OpenShift免费空间是Red Hat的平台即服务的云计算平台(PaaS),支持Java,PHP,Python,Perl,Ruby以及MySQL Database,phpMyAdmin,MongoDB NoSQL Database,Cron 1.4等应用。OpenShift服务器采用的是AmazonEC2数据中心,月流量不限制,且支持绑定顶级域名。目前OpenShift上可以免费创建三个app,提供512MB内存和1G存储空间。
OpenShift免费空间的稳定性是有目共睹的,很值得我们去使用。
1. 打开OpenShift官方网站 https://www.openshift.com/,点击右上角“Sign Up”,注册一个新账号。
2. 提交申请后,进入你的邮件当中激活你的链接,完成OpenShift账号的申请。
1. 账号激活完成后,OpenShift会进入选择应用安装页面。OpenShift提供了许多“一键安装”的应用套餐,如Jenkins Server、WordPress 4等等;同时也提供自定义的配置服务,用户可以自己选择所需的资源和配置。找到PHP的应用列表:
2. 点击右上角的“see all”链接,查看所有PHP的应用套餐,往下找到“PHP, MySQL and phpMyAdmin”:
3. 点击该套餐后,填写赠送的免费二级域名。二级域名由两部分构成,前面一半是应用的名称,比如bbs啊game什么的,后面一半是你的域名,也就是彰显你的铭牌的地方,比如XXX工作室什么的:
4. 点击“Create Application”后,稍等一会儿(不要关闭网页),OpenShift就会自动为我们创建好应用了。
期间,可能会有出错提示“Cartridge phpmyadmin-4 cannot be embedded in scalable app 'game'”,这时需要把Scaling字段改成“No scaling”:
5. 创建成功后,OpenShift会告知MySQL的账号信息:
这里显示的账号、密码我已经改过了,所以TX们不用窃喜了。
同时,该页面上也有维护你的网站内容所用到的一些git命令,这些也要记下来:
git clone ssh://[email protected]/~/git/game.git/
cd game/
git add .
git commit -m 'My changes'
git push
6. 点击页面上的链接“Continue to the application overview page”,若以前已经在OpenShift上设置了你的公钥,就会跳到应用设置页面;否则就会要求先设置公钥:
7. Windows下可以用PuTTYGen来生成你自己的公钥。运行PuTTYGen,选择密钥模式为“SSH2-RSA”,然后点击“Generate”,生成私钥的过程中需要用鼠标在软件界面不停地移动方可。生成后,点击“Save private key”按钮将私钥保存在本地,以备后用。同时将生成的公钥粘贴至OpenShift的公钥设置页面上“The contents of your public key file”,“Key name”那兰随便填,填好之后点击按钮“Create”或“Save”就行了。
OpenShift空间文件可以通过Git、SSH、PuTTY、FileZilla、WinSCP等各种支持SSH协议的工具来管理。OpenShift官方也提供命令行工具rhc来管理空间,同时也有详细的教程。下面只讲Git、PuTTY和FileZilla的配置方法。
1. 运行FileZilla后,在Site Manager里新建一个站点,General标签页各栏设置如下:
栏 | 值 |
---|---|
Host | 找到之前记录的Git clone网址,将域名部分填到这栏,即下面的高亮部分: git clone ssh://551b75a6fcf9331b910000a3@game-xxxstudio.rhcloud.com/~/git/game.git/ |
Port | 留空 |
Protocol | SFTP - SSH File Transfer Protocol |
Logon Type | Interactive |
User | 找到之前记录的Git clone网址,将用户名部分填到这栏,即下面的高亮部分: git clone ssh://551b75a6fcf9331b910000a3@game-xxxstudio.rhcloud.com/~/git/game.git/ |
2. 打开FileZilla的配置对话框(菜单Edit->Settings),然后找到Connection->SFTP项,再点击按钮“Add keyfile...”,将之前PuTTYGen生成的私钥加入进来。
3. 连接OpenShift空间,此时就能通过FileZilla来管理了。本例中,所有网页文件都保存在/var/lib/openshift/551b75a6fcf9331b910000a3/app-root/runtime/repo目录及其子目录下。
配置页 | 栏 | 值 |
---|---|---|
Session | Host Name | 找到之前记录的Git clone网址,将用户名和域名部分填到这栏,即下面的高亮部分: git clone ssh://[email protected]/~/git/game.git/ |
Port | 22 | |
Connection Type | SSH | |
Connection->SSH->Auth | Private key file for authentication | 点击“Browse...”按钮,将之前PuTTYGen生成的私钥选择进来 |
2. 回到Session配置页,点击按钮“Save”,将配置保存下来,然后点击按钮“Open”就可以开始管理你的OpenShift空间了。通过PuTTY,你可以自己安装Ubuntu/Linux下的各种软件。
以上两种方式虽然能直接管理你的OpenShift空间中的文件,但是都无法留下网页的版本信息。OpenShift官方推荐用git来管理。Windows下的Git客户端工具有很多种,常用的有GitHub、TortoiseGit、Git for Windows、Eclipse的Git插件等等。以下只讲GitHub和TortoiseGit的设置。
1. 到GitHub的官网下载并安装GitHub的Windows客户端应用:https://windows.github.com/
2. 假设你的用户名是somebody,之前PuTTYGen生成的私钥保存在D:\bbb.ppk,打开文件C:\Users\somebody\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\etc\ssh\ssh_config(标红色的那段可能不一样,请各位TX自己确认下),然后加入下面这段:
Host game-xxxstudio.rhcloud.com
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile=D:/bbb.ppk
3. 运行GitHub的Git Shell,然后执行以下git命令:
git clone ssh://[email protected]/~/git/game.git/
就在本地把OpenShift空间中的网页内容给check out下来了,而且直接check out服务器上目录/var/lib/openshift/551b75a6fcf9331b910000a3/app-root/runtime/repo下的内容。
4. 运行GitHub,将克隆下来的网页添加到仓库列表中,以方便操作。
其实GitHub装好后,已经可以用Git工具了。因为GitHub本来就封装了Git for Windows 1.9.5。但如果TX们还是觉得TortoiseGit方便,那么就只用装TortoiseGit了,不用再装Git for Windows。
1. 到TortoiseGit的官网下载并安装客户端:https://code.google.com/p/tortoisegit/
2. 在Windows的资源里点右键菜单:TortoiseGit->Settings。此时会弹出一些对话框,提示没有安装Git,全部忽略。
3. 点开TortoiseGit的General设置页,将栏目“Git for Windows->Git.exe Path:”的值填为 C:\Users\somebody\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\bin (标红色的那段可能不一样,请各位TX自己确认下),再点击按钮“Apply”。
此时,TortoiseGit就可以和GitHub共享一套Git的配置了,因为它们用的是同一套Git。