直到在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>';
只要在屏幕上进行设置,就能够达到基本的启动阶段。