在CoreOS上搭建一个WordPress程序操作实例_Linux

CoreOS是一个专门为大规模服务器部署定制的Linux精简系统,它将操作系统和应用程序完全分离,从而降低操作系统和应用程序的耦合度,同时解决了现有Linux服务器在容器资源、权限管理方面出现的问题。就目前来说,CoreOS会是未来操作系统的发展趋势。

那你有没有亲自在CoreOS上部署一个应用程序呢?相信大多数人都没有过这样的经验,在CoreOS上建立一个应用程序可以说是非常辛苦及沮丧的。因为在开始建立程序之前你首先必须了解所有不同的技术。

下面,我们将手把手地教你来创建一个简单的WordPress应用程序,采用MySQL作为服务器,在CoreOS上运行。

1. 安装CLI来控制CoreOS

如果你的电脑是Mac,可以在本机安装fleetctl和etcdctl来控制CoreOS集群:

复制代码 代码如下:

$ brew install go etcdctl
$ git clone https://github.com/coreos/fleet.git
$ cd fleet
$ ./build
$ mv bin/fleetctl /usr/local/bin/

2. 安装本地集群

使用部署虚拟化开发环境Vagrant来安装本地集群很容易:

复制代码 代码如下:

$ git clone https://github.com/CenturyLinkLabs/coreos-vagrant
$ cd coreos-vagrant/cluster
$ vagrant up --provision

现在集群就安装好了,简单吧!下面就让我们来检查一下本地fleetctl:

复制代码 代码如下:

$ fleetctl list-machines
MACHINE IP METADATA
09fd0a88... 10.0.2.15 -
77763947... 10.0.2.15 -
f31c383c... 10.0.2.15 -

真棒,它起作用了!
3. 使用fleet部署一个应用程序

fleetctl命令可把应用程序部署到CoreOS集群的节点中,但要为fleet写服务文件真的是太糟糕了。幸运的是,你不必自己编写,你可以使用yaml format来生成服务文件:

复制代码 代码如下:

$ sudo gem install bundler fig2coreos

$ cat fig.yml
web:
  image: ctlc/wordpress
  ports:
    - 80:80
  environment:
    DB_USER: root
    DB_PASSWORD: qa1N76pWAri9
  links:
    - db
db:
  image: ctlc/mysql
  ports:
    - 3306:3306
  environment:
    MYSQL_DATABASE: wordpress
    MYSQL_ROOT_PASSWORD: qa1N76pWAri9

$ fig2coreos myapp fig.yml coreos-files

$ cd coreos-files

$ ls
db-discovery.1.service
db.1.service
web-discovery.1.service
web.1.service

fleetctl客户端工具使用的是etcd系统的Key/Value存储形式,以分享配置和服务发现。下面教大家如何把程序部署到集群中:

复制代码 代码如下:

$ fleetctl start db.1.service

$ fleetctl list-units
UNIT  LOAD ACTIVE SUB DESC  MACHINE
db.1.service loaded active running Run db_1 9c008961.../10.0.2.15

$ fleetctl start web.1.service

$ fleetctl list-units
UNIT  LOAD ACTIVE SUB DESC  MACHINE
db.1.service loaded active running Run db_1 9c008961.../10.0.2.15
web.1.service loaded active running Run web_1 9c008961.../10.0.2.15

现在程序就运行了,但是还没有注册etcd的服务,幸运的是fig2coreos生成的服务发现文件可以帮助我们:

复制代码 代码如下:

$ fleetctl start db-discovery.1.service
$ fleetctl start web-discovery.1.service

$ fleetctl list-units
UNIT   LOAD ACTIVE SUB DESC  MACHINE
db-discovery.1.service loaded active running Announce db_1 9c008961.../10.0.2.15
db.1.service  loaded active running Run db_1 9c008961.../10.0.2.15
web-discovery.1.service loaded active running Announce web_1 9c008961.../10.0.2.15
web.1.service  loaded active running Run web_1 9c008961.../10.0.2.15

$ etcdctl ls --recursive
/services
/services/web
/services/web/web_1
/services/db
/services/db/db_1

$ etcdctl get /services/web/web_1
{ "host": "core-03", "port": 80, "version": "52c7248a14" }

$ etcdctl get /services/db/db_1
{ "host": "core-03", "port": 3306, "version": "52c7248a14" }

这样就完成了!如果你使用的是Vagrant 1.5及Vagrant Cloud,那么你就可以实现 WordPress程序并看到它可以实行了:

复制代码 代码如下:

$ cd ~/coreos-vagrant/cluster/

# find out which box is hosting your port 80
$ etcdctl get /services/web/web_1
{ "host": "core-03", "port": 80, "version": "52c7248a14" }

$ vagrant share core-03 --http 80
==> core-03: Detecting network information for machine...
    core-03: Local machine address: 192.168.65.2
    core-03: Local HTTP port: 80
    core-03: Local HTTPS port: disabled
==> core-03: Checking authentication and authorization...
==> core-03: Creating Vagrant Share session...
    core-03: Share will be at: quick-iguana-4689
==> core-03: Your Vagrant Share is running! Name: quick-iguana-4689
==> core-03: URL: http://quick-iguana-4689.vagrantshare.com

下面就是做好的效果图:

其实我们可以在CoreOS上能做很多事,今天这个只是基础,感兴趣的你可以动手试一试。

时间: 2024-09-15 05:41:07

在CoreOS上搭建一个WordPress程序操作实例_Linux的相关文章

c++ 编程问题-在C++中想用string类型从键盘上接受一个整数进行操作

问题描述 在C++中想用string类型从键盘上接受一个整数进行操作 一个非常大的整数,想用string类从键盘接受,然后对整数进行操作,比如说和某个数比较,求每个位的数字并输出.怎么处理. 解决方案 可以初定义为sting类型,从键盘一次性录入到串中,然后用FORMAT函数进行类型转换 解决方案二: getline用字符串方式吧数据读到string,然后再进行数字转换

J2EE应用程序部署:每台应用程序服务器上部署一个应用程序还是多个应用程序

引言 J2EE 规范 对将 J2EE 应用程序打包成一个文件扩展名为 EAR(Enterprise Archive( 企业压缩文档))的文件进行了定义,并且规定这些应用程序彼此独立.然而,该规范对 于如何最佳部署应用程序却只字未提.您是应该选择在每台应用程序服务器上只部署一个 J2EE 应用程序(EAR 文件)?还是应该在单独一台应用程序服务器上部署多个 J2EE 应用 程序(EAR 文件)? IBM WebSphere Application Server支持这两种选择.您应该选择哪种方式 ?

在SAE上搭建最新wordpress的方法_php实例

安装SAE上的wordpress,创建应用选择wordpress模板,安装后是3.4版本 新建一个版本2,下载最新wordpress安装包并解压到版本2中 初步猜想修改地方: 数据库配置:wp-config.php 复制代码 代码如下: <?php /**  * WordPress 基础配置文件.  *  * 本文件包含以下配置选项: MySQL 设置.数据库表名前缀.  * 密匙.WordPress 语言设定以及 ABSPATH.如需更多信息,请访问  * {@link http://code

PHP编写学校网站上新生注册登陆程序的实例分享_php实例

就弄了三个页面: (1).新生信息注册模块(register.php): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text

Shell脚本检查IP格式及mysql操作实例_linux shell

还是cronjob的一部分,就是在Rails的定时任务里,后台交互运行 CheckIPAddress() { echo $1 |grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$" > /dev/null if [ $? = 1 ]; then return 1 else a=`echo $1 | awk -F. '{print $1}'` b=`echo $1 | awk -F. '{print $2}'

Wordpress程序后台菜单显示不全的解决方案

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前几天在godaddy购买了域名和空间,做了一个洗脸机的网站,按照操作提示顺手在线自动安装了wordpress程序,但是之后麻烦就出现了,省事3分钟麻烦3小时,安装之后,前台显示正常,但是在后台竟然没有"链接"选项,就是给自己的网站设置友情链接的那个设置菜单,如图所示: 根据往常的经验,我首先想到的就是wordpress主

手把手教你在 CoreOS 上构建你的第一个应用

手把手教你在 CoreOS 上构建你的第一个应用 [编者的话]作者以自己的Mac笔记本为例,介绍了如何在CoreOS上安装WordPress应用,没有过多的理论解释,全部是实战类教程,推荐想快速了解CoreOS的同学阅读. 我相信你一定听说过CoreOS,但是你是否真正在它上面部署过一个应用了?可能很多人都没有部署过.在CoreOS上构建一个应用是非常困难且令人沮丧的(译者注:frustrating,用了这个词,看来确实难).因为文档比较散乱,并且你不得不在开始之前学习所有相关的技术,包括etc

NHibernate之旅(2):第一个NHibernate程序

本节内容 开始使用NHibernate 1.获取NHibernate 2.建立数据库表 3.创建C#类库项目 4.编写DomainModel层 4-1.编写持久化类 4-2.编写映射文件 5.编写数据访问层 5-1.辅助类 5-2.编写操作 6.编写数据访问层的测试 6-1.配置NHibernate 6-2.测试 结语 开始使用NHibernate 我们亲自动手,来一步一步搭建一个NHibernate程序来,我以一个实际场景电子交易程序来模拟,客户/订单/产品的经典组合.由于是第一次使用NHib

如何自己动手搭建一个服务器环境

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 有些朋友觉得自己在电脑上搭建一个服务器很复杂,其实不然,非常简单.刚开始第一次搭建的时候我也觉得很复杂很麻烦,但当我自己动手搭建以后发现,原来这东西也不难,这不过需要细心.那么下面我就就简单的为大家分享一下我搭建服务器的步骤. 第一步,下载. 先下载一个服务器环境的安装压缩文件,这个文件可在dede,也就是织梦cms下载,名字叫做php服务器