В этом посте мы развернем приложение WordPress на экземпляре EC2 Amazon Linux AMI t2.micro, выполнив следующие действия:
Шаг 1. Настройте экземпляр Amazon EC2 после установки-amazon-ec2-instance .
Шаг 2: Запустите экземпляр EC2 после ec2-launch-linux-instance .
Шаг 3: Поскольку создание приложения WordPress не является частью этого поста, я уже создал его и заархивировал в виде wordpress-app.zip, который мы надежно скопируем с локального компьютера в домашний каталог экземпляра EC2 (/ home / ec2-user ) используя ec2-user следующим образом:
1
|
scp -i /Users/ArpitAggarwal/arpitaggarwal-key-pair .pem /Users/ArpitAggarwal/wordpress-app .zip [email protected]: /home/ec2-user |
arpitaggarwal-key-pair.pem ссылается на файл закрытого ключа.
ec2-54-218-30-7.us-west-2.compute.amazonaws.com относится к общедоступному DNS-имени экземпляра EC2.
Шаг 4. Экспортируйте базу данных wordpress-app следующим образом:
1
2
|
cd /applications/MAMP/library/bin . /mysqldump -u root -p**** wordpress > /Users/ArpitAggarwal/export-wordpress-data .sql |
/ Applications / MAMP / library / bin ссылается на хранилище локальной базы данных MAMP.
./mysqldump ссылается на команду для получения mysqldump .
Шаг 5: Скопируйте файл export-wordpress-data.sql, который мы создали, из каталога локального компьютера в домашний каталог экземпляра EC2 (/ home / ec2-user):
1
|
scp -i /Users/ArpitAggarwal/arpitaggarwal-key-pair .pem /Users/ArpitAggarwal/export-wordpress-data .sql [email protected]: /home/ec2-user |
Шаг 6: Войдите в свой экземпляр EC2 с помощью файла закрытого ключа и публичного DNS-имени, используя ssh :
1
|
|
Шаг 7: Измените параметры сортировки вашей базы данных, выполнив следующие команды в / home / ec2-user после входа в экземпляр EC2:
1
2
3
|
sed -i 's/utf8mb4/utf8/g' export -wordpress-data.sql sed -i 's/utf8_unicode_ci/utf8_general_ci/g' export -wordpress-data.sql sed -i 's/utf8_unicode_520_ci/utf8_general_ci/g' export -wordpress-data.sql |
Шаг 8: Настройте стек Linux, Apache, MySQL, PHP (LAMP) на экземпляре EC2 CentOS 6 и настройте процессы на автоматический запуск при загрузке сервера, выполнив следующие команды:
1
2
3
4
5
6
|
sudo yum install httpd sudo yum install mysql-server sudo yum install php php-mysql sudo service mysqld start sudo chkconfig httpd on sudo chkconfig mysqld on |
Шаг 9: Установите корневой пароль MySQL, который вы указали в своем приложении WordPess , выполнив следующую команду и выбрав конкретную опцию для всех запросов:
1
|
sudo /usr/bin/mysql_secure_installation |
Шаг 10: Войдите в базу данных MySQL на экземпляре EC2 и создайте DATABASE так же, как вы указали в своем приложении WordPess , для меня это WordPress :
1
2
|
mysql -u root -p**** mysql> CREATE DATABASE IF NOT EXISTS wordpress; |
Шаг 11: Импортируйте export-wordpress-data.sql во вновь созданную базу данных следующим образом:
1
|
mysql -uroot -p**** wordpress < export-wordpress-data.sql |
Шаг 12: Раздуйте wordpress-app.zip , скопируйте все файлы в каталог / var / www / html и создайте . Файл htaccess внутри того же каталога:
1
2
3
4
|
unzip wordpress-app.zip sudo cp -R wordpress-app/* /var/www/html cd /var/www/html sudo touch .htaccess |
Замените содержимое файла .htaccess следующим :
01
02
03
04
05
06
07
08
09
10
|
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index .php [L] < /IfModule > # END WordPress |
Шаг 13: Отредактируйте httpd.conf, расположенный в / etc / httpd / conf, чтобы установить для директивы AllowOverride значение All для каталога / var / www / html , как показано ниже:
1
2
3
4
5
6
|
<Directory "/var/www/html" > Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all < /Directory > |
Шаг 13: Перезапустите apache, чтобы отразить все сделанные нами изменения:
1
|
sudo service httpd restart |
Теперь откройте приложение WordPress из вашего браузера, используя Public DNS-имя или Public IP-адрес вашего экземпляра EC2 по адресу: http://ec2-54-218-30-7.us-west-2.compute.amazonaws.com/
Нужно переместить сайт WordPress на новый хост?
Это можно легко сделать, обновив option_value , post_content и guid приложения непосредственно в базе данных MySQL, выполнив следующие сценарии:
1
2
3
4
|
|
Ссылка: | Размещение приложения WordPress на экземпляре EC2 — AWS от нашего партнера JCG Арпит Аггарвал в блоге Арпит Аггарвал . |