Przewodnik krok po kroku dotyczący konfiguracji WordPressa na instancji Linux Amazon EC2 (AWS)
Opublikowany: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) to usługa w chmurze, która zapewnia skalowalną pojemność obliczeniową w chmurze. Jest przeznaczony dla programistów w celu lepszego skalowania i monitorowania aplikacji internetowych.
Amazon EC2 zapewnia niektóre z zaawansowanych funkcji, takich jak elastyczne adresy IP, równoważenie obciążenia, różne platformy, takie jak (linux, windows, itp.), skalowanie, monitorowanie itp. Programistom ułatwia również lepsze zarządzanie swoimi aplikacjami internetowymi.
Hosting WordPress on AWS
to dobry wybór, ponieważ w porównaniu do innych dostawców VPS Amazon ma niskie ceny, więcej funkcji i inne powiązane niesamowite usługi. Ponadto pobierają opłaty za godziny pracy instancji.
W tym samouczku pokażę, jak skonfigurować środowisko LAMP na platformie Linux i ręcznie zainstalować blog WordPress na instancji Amazon EC2 .
Ten przewodnik krok po kroku pomoże Ci całkowicie zarządzać hostem, który różni się od cPanel.
1. Utwórz konto AWS
Przede wszystkim musisz stworzyć swoje konto AWS. Możesz się zarejestrować, klikając ten link. Będziesz musiał podać kartę kredytową lub międzynarodową kartę debetową oraz numer telefonu, na który zostaniesz zadzwoniony w ramach procesu weryfikacji rejestracji online, zgodnie z ich warunkami i zasadami.
Twoja karta kredytowa lub debetowa zostanie obciążona niewielką kwotą i zostanie zwrócona po jej zweryfikowaniu. Amazon oferuje poziom bezpłatnego użytkowania, na którym zainstalujemy WordPress, co jest świetne do odkrywania usług, a nawet hostowania prawdziwych aplikacji bez opłat ani grosza.
2. Utwórz instancję
Po rejestracji masz do dyspozycji wiele opcji i prawdopodobnie masz na myśli to pytanie Which type of instance should I choose
?
Jeśli masz nowego bloga, możesz wybrać EC2 micro instance
, która może obsłużyć około 200+ ruchu w czasie rzeczywistym.
Ma również atrakcyjną strukturę cenową, ale jeśli przenosisz istniejący blog i masz ruch przekraczający tysiąc dziennie, musisz wybrać małą instancję, która bardzo łatwo poradzi sobie z tym ruchem.
Aby utworzyć nową instancję, wejdź do AWS Management Console i kliknij zakładkę EC2:
- Wybierz AMI w klasycznym kreatorze instancji:
- Wybrałem podstawowy 64-bitowy system Ubuntu Server Amazon Linux AMI.
- Szczegóły instancji:
- Wybierz typ wystąpienia, którego chcesz użyć. Wybrałem Small (m5a.small).
- Utwórz nową parę kluczy.
- Wprowadź nazwę swojej pary kluczy (tj. crunchify) i pobierz swoją parę kluczy (tj.
crunchify.pem
).
- Wprowadź nazwę swojej pary kluczy (tj. crunchify) i pobierz swoją parę kluczy (tj.
- Wybierz grupę zabezpieczeń szybkiego uruchamiania.
- Uruchom swoją instancję.
3. SSH do Twojej instancji
Po zakończeniu konfiguracji instancji i wyświetleniu, że instancja jest uruchomiona, możesz się do niej ssh
.
- Przede wszystkim musisz zidentyfikować adres IP (publiczny DNS) swojej instancji:
- Wybierz instancję w AWS Management Console.
- Poszukaj publicznego DNS w opisie instancji (dolna część ekranu).
Użyj tego adresu (i ścieżki do pliku .pem), aby ssh do swojej instancji:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
Jeśli korzystasz z systemu Windows, powinieneś użyć Putty do połączenia jako SSH. Możesz połączyć się z kitem, postępując zgodnie z tym artykułem.
Jeśli pojawi się komunikat o błędzie, że uprawnienia do pliku .pem są zbyt otwarte, chmod plik .pem w następujący sposób:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
W tym samouczku musisz wykonać wiele poleceń powłoki, a większość poleceń wymaga uprawnień administratora. Aby tego uniknąć, poprzedzimy wszystkie polecenia sudo, przełączając użytkownika raz na zawsze za pomocą tego polecenia.
1 |
[ ec2 - user ~ ] $ sudo su |
4. Zainstaluj serwer WWW Apache, aby uruchomić PHP
Aby zainstalować serwer WWW Apache, wpisz terminal:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
Uruchom serwer WWW Apache:
1 |
[ ec2 - user ~ ] $ service httpd start |
Po konfiguracji, aby przetestować serwer sieciowy, otwórz przeglądarkę i uzyskaj dostęp do swojej witryny internetowej:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(Użyj swojej rzeczywistej publicznej nazwy DNS). Powinieneś zobaczyć standardową domyślną stronę zastępczą Amazon.
5. Zainstaluj PHP, aby uruchomić WordPress
Aby zainstalować PHP, wpisz terminal:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
Po pomyślnym zainstalowaniu php Uruchom ponownie serwer WWW Apache:
1 |
[ ec2 - user ~ ] $ service httpd restart |
Utwórz stronę, aby przetestować swoją instalację PHP:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- Wpisz
i
, aby uruchomić tryb wstawiania - Wpisz
<?php phpinfo() ?>
- Wpisz
:wq
, aby zapisać plik i wyjść z vi
Otwórz przeglądarkę i wejdź na test.php, aby przetestować instalację PHP:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(Użyj swojej publicznej nazwy DNS)
6. Zainstaluj MySQL, aby dodać bazę danych
Aby zainstalować MySQL, wpisz:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
Uruchom MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
Stwórz swoją bazę danych „blogów”:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
Zabezpiecz swoją bazę danych:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
Odpowiedz na pytania kreatora w następujący sposób:
- Wpisz aktualne hasło dla roota: Naciśnij enter, aby nie było
- Zmień hasło roota: Y
- Nowe hasło: Wprowadź nowe hasło
- Usuń anonimowego użytkownika: Y
- Nie zezwalaj na zdalne logowanie root: Y
- Usuń testową bazę danych i uzyskaj do niej dostęp: Y
- Odśwież teraz tabele uprawnień: Y
7. Zainstaluj WordPressa
Aby zainstalować WordPressa, wpisz:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
Aby zdekompresować typ pliku tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
Spowoduje to zdekompresowanie WordPressa we własnym katalogu WordPress
.
Lubię mieć WordPress w osobnym katalogu, ale wolę zmienić jego nazwę na „blog”, jeśli chcesz zainstalować go w subdomenie, np. „http://twoja-strona.pl/blog”:
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
w przeciwnym razie przenieś wszystkie pliki do folderu nadrzędnego, wpisując:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
Utwórz plik WordPress wp-config.php:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- Wpisz
i
, aby uruchomić tryb wstawiania.
Zmodyfikuj parametry połączenia z bazą danych w następujący sposób:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- Następnie naciśnij raz
esc
- Wpisz
:wq
, aby zapisać plik i wyjść z vi
Otwórz przeglądarkę i uzyskaj dostęp do swojego bloga:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
Powinno to otworzyć proces konfiguracji instalacji WordPress.
WSKAZÓWKA: Aby umożliwić WordPressowi korzystanie z permalinków
Permalinki WordPressa muszą używać plików Apache .htaccess, aby działały poprawnie, ale nie jest to domyślnie włączone w Amazon Linux. Użyj tej procedury, aby zezwolić na wszystkie nadpisania w katalogu głównym dokumentów Apache.
Otwórz plik httpd.conf w swoim ulubionym edytorze tekstu (takim jak nano lub vim). Jeśli nie masz ulubionego edytora tekstu, nano jest znacznie łatwiejszy w użyciu dla początkujących.
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
Znajdź sekcję, która zaczyna się od <Directory “ /var/www/html
”>.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
Zmień wiersz AllowOverride None
w powyższej sekcji na AllowOverride All
.
Notatka:
W tym pliku jest wiele wierszy AllowOverride
; upewnij się, że zmieniłeś linię w sekcji <Directory "/var/www/html"
>.
1 |
AllowOverride All |
- Zapisz plik i wyjdź z edytora tekstu.
8. Mapuj adres IP i nazwę domeny
Aby używać swojego bloga w produkcji, będziesz musiał:
- Powiąż adres IP ze swoją instancją
- Zmapuj nazwę domeny na ten adres IP
- Aby powiązać adres IP z instancją:
Kroki:
- W konsoli zarządzania AWS kliknij Elastyczne adresy IP (lewy pasek nawigacji)
- Kliknij Przydziel nowy adres i potwierdź, klikając przycisk „Tak, przydziel”
- Kliknij nowo przydzielony adres IP prawym przyciskiem myszy i wybierz „Powiąż” z menu podręcznego. Wybierz właśnie utworzoną instancję i kliknij „Tak, skojarz”
- Aby zmapować nazwę domeny na adres IP, będziesz musiał skorzystać z narzędzi dostarczonych przez rejestratora domeny.
- Jeśli korzystasz z GoDaddy, określ NS73.DOMAINCONTROL.COM i NS74.DOMAINCONTROL.COM jako serwery nazw dla swojej domeny i użyj Menedżera DNS, aby zmodyfikować rekord A i wskazać swój adres IP.
- Gdy wszystko zostanie poprawnie skonfigurowane i zmapowane, przejdź do ustawień ogólnych w konsoli zarządzania WordPress i upewnij się, że adres WordPress i adres witryny są poprawnie określone przy użyciu nazwy domeny
Inna metoda: aby zmienić adres URL witryny WordPress za pomocą wp-cli
Zanotuj adres URL starej witryny i adres URL nowej witryny dla Twojej instancji. Adres URL starej witryny to prawdopodobnie publiczna nazwa DNS dla instancji EC2 po zainstalowaniu WordPressa. Nowy adres URL witryny to bieżąca publiczna nazwa DNS dla Twojej instancji EC2.
Jeśli nie jesteś pewien swojego starego adresu URL witryny, możesz użyć curl, aby znaleźć go za pomocą następującego polecenia.
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
W danych wyjściowych powinny pojawić się odniesienia do Twojej starej publicznej nazwy DNS, które będą wyglądać tak (adres URL starej witryny w kolorze czerwonym):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
Pobierz wp-cli za pomocą następującego polecenia.
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
Wyszukaj i zastąp stary adres URL witryny w instalacji WordPressa następującym poleceniem. Zastąp adresy URL starej i nowej witryny dla instancji EC2 oraz ścieżkę do instalacji WordPress (zwykle /var/www/html
lub /var/www/html/blog
).
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
W przeglądarce internetowej wprowadź adres URL nowej witryny swojego bloga WordPress, aby sprawdzić, czy witryna ponownie działa poprawnie.
Otóż to.
Pomyślnie utworzyłeś środowisko LAMP i zainstalowałeś WordPress na Amazon EC2 . Jeśli pojawi się jakiś błąd lub utknąłeś w jakimś zadaniu, poinformuj nas o tym, komentując tutaj.
Postaramy się jak najlepiej zapewnić rozwiązanie twojego problemu.