直到在AWS上部署实例并启动WordPress

关于

我在AWS上成功部署了WordPress。

利用科技

    • Terraform

 

    Itamae

这里是源代码的链接:https://github.com/tjinjin/wordpress-sandbox。

地球塑模

data "aws_ami" "centos" {
  most_recent = true

  filter {
    name   = "product-code"
    values = ["aw0evgkw8e5c1q413zgy5pjce"]
  }
}

resource "aws_instance" "wp" {
  ami                    = "${data.aws_ami.centos.id}"
  instance_type          = "t2.micro"
  key_name               = "tjinjin-terraform"
  vpc_security_group_ids = ["${aws_security_group.wp.id}"]

  root_block_device {
    delete_on_termination = "true"
  }

  tags {
    Name = "wordpress"
  }
}

resource "aws_security_group" "wp" {
  name        = "wordpress"
  description = "wordpress sg"

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["${var.my_ipaddr}"]
  }

  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["${var.my_ipaddr}"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  tags {
    Name    = "wordpress"
    Created = "terraform"
  }
}

output "wordpress_ip" {
  value = "${aws_instance.wp.public_ip}"
}

AMI使用的是CentOS官方版本。我是根据这个页面来确定product-code的。https://wiki.centos.org/Cloud/AWS

平行语句是匠人.

我在使用一个插件的同时,其他部分都是自己编写的。因为我以前就是使用chef的人,所以对于名为http_request的资源名称不熟悉,所以我很苦恼哈哈。

$ itamae ssh --host aws-wordpress roles/wp.rb 

只需按照这个做法,即可应用。

尚未完成的工作

如果到了这个地步,只需进行MySQL的设置和在WordPress上进行设置。

$ cat /var/log/mysqld.log | grep generate
$ mysqladmin -u root password -p
$ mysql -u root -p

mysql> create database wordpress;
mysql> grant all privileges on wordpress.* to wordpress@localhost identified by '<password>';

只要在屏幕上进行设置,就能够达到基本的启动阶段。