기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
튜토리얼: AL2 023에 WordPress 블로그 호스팅
다음 절차는 AL2 023 인스턴스에 WordPress 블로그를 설치, 구성 및 보호하는 데 도움이 됩니다. 이 자습서는 WordPress 블로그를 호스팅하는 웹 서버를 완전히 제어할 수 있다는 점에서 Amazon 사용에 대한 좋은 입문서입니다. 이는 기존 호스팅 EC2 서비스에서는 일반적이지 않습니다.
사용자는 서버에 대한 소프트웨어 패키지를 업데이트하고 보안 패치를 유지관리할 책임이 있습니다. 웹 서버 구성과 직접 상호 작용할 필요가 없는 보다 자동화된 WordPress 설치를 위해 이 AWS CloudFormation 서비스는 빠르게 시작할 수 있는 WordPress 템플릿도 제공합니다. 자세한 내용은 AWS CloudFormation 사용 설명서에서 시작하기를 참조하세요. 데이터베이스가 분리된 고가용성 솔루션이 필요한 경우 개발자 안내서의 고가용성 WordPress 웹 사이트 배포를 참조하십시오.AWS Elastic Beanstalk
중요
이 절차는 023과 함께 사용하기 위한 것입니다. AL2 기타 배포에 대한 자세한 내용은 해당 설명서를 참조하세요. 본 자습서에 있는 단계의 상당수가 Ubuntu 인스턴스에서 작동하지 않습니다. Ubuntu 인스턴스에 WordPress 설치하는 데 도움이 필요하면 Ubuntu 설명서를 참조하십시오 WordPress
사전 조건
블로그를 호스팅하는 데 사용하는 인스턴스에 엘라스틱 IP 주소 (EIP) 를 연결하는 것이 좋습니다. WordPress 이렇게 하면 인스턴스의 퍼블릭 DNS 주소가 변경되어 설치가 중단되는 것을 방지할 수 있습니다. 도메인 이름을 소유하고 있는데 이를 블로그에 사용하려는 경우 도메인 이름에 대한 DNS 레코드를 업데이트하여 EIP 주소를 가리키도록 할 수 있습니다 (이에 대한 도움이 필요하면 도메인 이름 등록기관에 문의하십시오). 실행 중인 인스턴스와 연결된 EIP 주소 하나를 무료로 사용할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서의 엘라스틱 IP 주소를 참조하십시오. 튜토리얼: AL2 023에 LAMP 서버 설치 자습서는 보안 그룹이 HTTP
및 HTTPS
트래픽을 허용하도록 구성하는 단계와 파일 권한이 웹 서버에 맞게 적절하게 설정되어 있는지 확인하는 여러 단계를 포함하고 있습니다. 보안 그룹에 규칙을 추가하는 방법에 대한 자세한 내용은 보안 그룹에 규칙 추가를 참조하십시오.
블로그에 사용할 도메인 이름이 아직 없는 경우 Route 53에 도메인 이름을 등록하고 인스턴스 EIP 주소를 도메인 이름과 연결할 수 있습니다. 자세한 내용은 Amazon Route 53 개발자 안내서의 Registering domain names using Amazon Route 53를 참조하세요.
설치 WordPress
인스턴스에 연결하고 WordPress 설치 패키지를 다운로드합니다. 인스턴스 연결에 대한 자세한 내용은 AL2023 인스턴스에 연결 주제를 참조하세요.
-
다음 명령을 사용하여 이러한 패키지를 다운로드하고 설치합니다.
dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y
-
출력에 다음과 비슷한 문구의 경고가 표시될 수 있습니다(버전은 시간에 따라 다를 수 있음).
WARNING: A newer release of "Amazon Linux" is available. Available Versions: dnf upgrade --releasever=2023.0.20230202 Release notes: https://aws.amazon.com Version 2023.0.20230204: Run the following command to update to 2023.0.20230204: dnf upgrade --releasever=2023.0.20230204 ... etc
가장 좋은 방법은 OS를 up-to-date 최대한 유지하는 것이 좋지만, 환경에 충돌이 없도록 각 버전을 반복해서 살펴보는 것이 좋습니다. 1단계에서 설명한 이전 패키지 설치에 실패할 경우 나열된 최신 릴리스 중 하나로 업데이트하고 다시 시도해야 할 수 있습니다.
-
명령을 사용하여 최신 WordPress 설치 패키지를 다운로드합니다. wget 다음 명령을 사용할 경우 언제나 최신 릴리스를 다운로드합니다.
[ec2-user ~]$
wget https://wordpress.org/latest.tar.gz
-
설치 패키지의 압축 및 아카이빙을 해제합니다. 설치 폴더는
wordpress
라는 폴더로 압축 해제됩니다.[ec2-user ~]$
tar -xzf latest.tar.gz
WordPress 설치를 위한 데이터베이스 사용자 및 데이터베이스를 만들려면
WordPress 설치 시 블로그 게시물 및 사용자 의견과 같은 정보를 데이터베이스에 저장해야 합니다. 다음 절차를 통해 블로그의 데이터베이스와 이 데이터베이스에 대해 정보 읽기 및 저장 권한이 있는 사용자를 생성할 수 있습니다.
-
데이터베이스와 웹 서버를 시작합니다.
[ec2-user ~]$
sudo systemctl start mariadb httpd
-
데이터베이스 서버에
root
사용자로 로그인합니다. 메시지가 표시되면 데이터베이스root
암호를 입력합니다. 이 암호는 사용자의root
시스템 암호와 다를 수 있으며, 데이터베이스 서버를 보안 설정하지 않은 경우 암호가 비어 있을 수도 있습니다.데이터베이스 서버를 보안 설정하지 않았다면 반드시 설정하시기 바랍니다. 자세한 내용은 3단계: 데이터베이스 서버 보안 설정 (AL2023) 을 참조하십시오.
[ec2-user ~]$
mysql -u root -p
-
내 SQL 데이터베이스의 사용자 및 비밀번호를 생성하십시오. WordPress설치에서는 이 값을 사용하여 내 SQL 데이터베이스와 통신합니다. 고유한 사용자 이름과 암호로 해당 부분을 대체하여 다음 명령을 입력합니다.
CREATE USER '
wordpress-user
'@'localhost' IDENTIFIED BY 'your_strong_password
';사용자에 대해 보안이 강력한 암호를 생성하시기 바랍니다. 작은따옴표(')는 각 명령을 구별하는 구분자로 기능하기 때문에, 암호에는 사용하지 마세요. 기존 암호를 재사용하지 마세요. 새로 설정한 암호는 안전한 장소에 보관하세요.
-
데이터베이스를 생성합니다. 데이터베이스에 이를 설명할 수 있는 유의미한 이름을 붙입니다(예:
wordpress-db
.).참고
아래 명령에서 데이터베이스 이름을 앞 뒤로 묶는 기호(`)를 백틱(backtick)이라고 합니다. 백틱(
`
) 키는 일반적으로 표준 키보드에서Tab
키 위에 있습니다. 백틱이 항상 필요하지는 않지만, 이를 통해 데이터베이스 이름에 하이픈(-) 등 허용되지 않는 문자를 사용할 수 있습니다.CREATE DATABASE `
wordpress-db
`; -
이전에 생성한 WordPress 사용자에게 데이터베이스에 대한 전체 권한을 부여하십시오.
GRANT ALL PRIVILEGES ON `
wordpress-db
`.* TO "wordpress-user
"@"localhost"; -
데이터베이스 권한을 새로고침(flush)해서 모든 변경사항이 적용되도록 합니다.
FLUSH PRIVILEGES;
-
mysql
클라이언트를 종료합니다.exit
wp-config.php 파일 생성 및 편집 방법
WordPress 설치 폴더에는 라는 샘플 구성 파일이 들어 wp-config-sample.php
있습니다. 본 절차에서는 이 파일을 복사하고 특정 구성에 맞도록 편집합니다.
-
wp-config-sample.php
파일을wp-config.php
라는 파일에 복사합니다. 이를 통해 새 구성 파일을 생성하고 원본 샘플 파일을 이전 상태 그대로 백업으로 보존할 수 있습니다.[ec2-user ~]$
cp wordpress/wp-config-sample.php wordpress/wp-config.php
-
wp-config.php
파일을 원하는 텍스트 편집기(nano, vim 등)로 편집하고 설치에 대한 값을 입력합니다. 원하는 텍스트 편집기가 없는 경우 초보자에게는nano
가 적합합니다.[ec2-user ~]$
nano wordpress/wp-config.php
-
DB_NAME
을(를) 정의하는 줄을 찾고database_name_here
을(를) 단계 4의 WordPress 설치를 위한 데이터베이스 사용자 및 데이터베이스를 만들려면에서 생성한 데이터베이스 이름으로 변경합니다.define('DB_NAME', '
wordpress-db
'); -
DB_USER
을(를) 정의하는 줄을 찾고username_here
을(를) 단계 3의 WordPress 설치를 위한 데이터베이스 사용자 및 데이터베이스를 만들려면에서 생성한 데이터베이스 사용자로 변경합니다.define('DB_USER', '
wordpress-user
'); -
DB_PASSWORD
을(를) 정의하는 줄을 찾고password_here
을(를) 단계 3의 WordPress 설치를 위한 데이터베이스 사용자 및 데이터베이스를 만들려면에서 생성한 보안성이 강력한 암호로 변경합니다.define('DB_PASSWORD', '
your_strong_password
'); -
Authentication Unique Keys and Salts
라는 섹션을 검색합니다. 이러한KEY
SALT
값과 값은 WordPress 사용자가 로컬 컴퓨터에 저장하는 브라우저 쿠키에 대한 암호화 계층을 제공합니다. 기본적으로 긴 무작위 값을 추가해서 사이트의 보안성을 강화할 수 있습니다. https://api.wordpress.org/secret-key/1.1/salt/을 방문해서 키 값의 세트를 무작위로 생성하고 이를 wp-config.php
파일로 복사해서 붙여 넣을 수 있습니다. Pu TTY 터미널에 텍스트를 붙여넣으려면 텍스트를 붙여넣을 위치에 커서를 놓고 Pu TTY 터미널 내에서 마우스 오른쪽 버튼을 클릭합니다.보안 키에 대한 자세한 내용은 https://wordpress.org/support/article/editing-wp-config-php/#security -keys를 참조하십시오
. 참고
아래 값은 예시 목적만을 위한 것입니다. 설치 시 이 값을 사용하지는 마세요.
define('AUTH_KEY', '
#U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-
'); define('SECURE_AUTH_KEY', 'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg
'); define('LOGGED_IN_KEY', 'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3
'); define('NONCE_KEY', 'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj
'); define('AUTH_SALT', 'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h
'); define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv
'); define('LOGGED_IN_SALT', ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/
'); define('NONCE_SALT', '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG
'); -
파일을 저장하고 텍스트 편집기를 종료합니다.
-
Apache WordPress 문서 루트 아래에 파일을 설치하려면
-
설치 폴더의 압축을 풀고, 내 SQL 데이터베이스 및 사용자를 생성하고, WordPress 구성 파일을 사용자 지정했으므로 이제 설치 파일을 웹 서버 문서 루트에 복사할 준비가 되었습니다. 그러면 설치 스크립트를 실행하여 설치를 완료할 수 있습니다. 이러한 파일의 위치는 WordPress 블로그를 웹 서버의 실제 루트 (예:) 에서 사용할 수 있는지 또는 루트 아래의 하위 디렉토리나 폴더 (예:
) 에서 사용할 수 있도록 할지에 따라 달라집니다.my.public.dns.amazonaws.com
my.public.dns.amazonaws.com/blog
-
문서 루트에서 WordPress 실행하려면 다음과 같이 워드프레스 설치 디렉터리의 내용 (디렉터리 자체는 복사하지 않음) 을 복사합니다.
[ec2-user ~]$
cp -r wordpress/* /var/www/html/
-
문서 루트 아래의 대체 디렉터리에서 WordPress 실행하려면 먼저 해당 디렉터리를 만든 다음 파일을 해당 디렉터리에 복사하세요. 이 예제에서는 디렉토리에서 WordPress 실행됩니다
blog
.[ec2-user ~]$
mkdir /var/www/html/blog
[ec2-user ~]$
cp -r wordpress/* /var/www/html/blog/
-
중요
다음 프로시저로 즉시 이동하지 않는 경우는 보안상 문제가 발생할 수 있으므로 Apache 웹 서버(httpd
)를 중단하세요. 설치를 Apache 문서 루트로 이동하면 WordPress 설치 스크립트가 보호되지 않으므로 Apache 웹 서버가 실행 중인 경우 공격자가 블로그에 액세스할 수 있습니다. Apache 웹 서버를 중지하려면 sudo service
httpd stop 명령을 입력합니다. 다음 절차로 즉시 이동하는 경우는 Apache 웹 서버를 중단시킬 필요가 없습니다.
퍼머링크 사용을 허용하려면 WordPress
WordPress 퍼머링크가 제대로 작동하려면 Apache .htaccess
파일을 사용해야 하지만 Amazon Linux에서는 기본적으로 활성화되어 있지 않습니다. 따라서 아래 방법에 따라 Apache 문서 루트에서 모든 재정의를 허용해야 합니다.
-
자주 사용하는 텍스트 편집기(
httpd.conf
또는 nano)로 vim 파일을 엽니다. 원하는 텍스트 편집기가 없는 경우 초보자에게는nano
가 적합합니다.[ec2-user ~]$
sudo vim /etc/httpd/conf/httpd.conf
-
다음과 같이 시작하는 영역을 찾습니다.
<Directory "/var/www/html">
<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> -
위 영역에서
AllowOverride None
라인을AllowOverride
로 변경합니다.All
참고
이 파일에는
AllowOverride
라인이 많기 때문에<Directory "/var/www/html">
영역의 라인을 변경할 때는 주의해야 합니다.AllowOverride
All
-
파일을 저장하고 텍스트 편집기를 종료합니다.
023에 PHP 그래픽 드로잉 라이브러리를 설치하려면 AL2
의 GD 라이브러리를 PHP 사용하면 이미지를 수정할 수 있습니다. 블로그의 헤더 이미지를 잘라야 하는 경우 이 라이브러리를 설치합니다. 설치하는 버전에는 이 라이브러리의 특정 최소 버전 (예: 버전 8.1) 이 필요할 수 있습니다. phpMyAdmin
다음 명령을 사용하여 AL2 023에 PHP 그래픽 드로잉 라이브러리를 설치합니다. 예를 들어, LAMP 스택 설치의 일부로 소스에서 php8.1을 설치한 경우 이 명령은 그래픽 드로잉 라이브러리 버전 8.1을 설치합니다. PHP
[ec2-user ~]$
sudo dnf install php-gd
설치된 버전을 확인하려면 다음 명령을 사용합니다.
[ec2-user ~]$
sudo dnf list installed | grep php-gd
다음은 예 출력입니다.
php-gd.x86_64 8.1.30-1.amzn2 @amazonlinux
Amazon Linux에 PHP 그래픽 드로잉 라이브러리를 설치하려면 AMI
의 GD 라이브러리를 PHP 사용하면 이미지를 수정할 수 있습니다. 블로그의 헤더 이미지를 잘라야 하는 경우 이 라이브러리를 설치합니다. 설치하는 버전에는 이 라이브러리의 특정 최소 버전 (예: 버전 8.1) 이 필요할 수 있습니다. phpMyAdmin
사용 가능한 버전을 확인하려면 다음 명령을 사용합니다.
[ec2-user ~]$
dnf list | grep php
다음은 PHP 그래픽 드로잉 라이브러리 (버전 8.1) 출력의 예제 라인입니다.
php8.1.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-cli.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-common.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-devel.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-fpm.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-gd.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux
다음 명령을 사용하여 Amazon Linux에 PHP 그래픽 드로잉 라이브러리의 특정 버전 (예: php8.1 버전) 을 설치합니다. AMI
[ec2-user ~]$
sudo dnf install -y php8.1-gd
Apache 웹 서버에 대한 파일 권한 수정 방법
에서 사용할 수 있는 일부 기능을 사용하려면 Apache 문서 루트에 대한 쓰기 권한이 WordPress 필요합니다 (예: 관리 화면을 통한 미디어 업로드). 아직 적용하지 않았다면 다음 그룹 구성원 자격 및 권한을 적용하십시오 (LAMP웹 서버 자습서에 자세히 설명되어 있음).
-
/var/www
의 파일 소유권 및 그 콘텐츠를apache
사용자에게 허용합니다.[ec2-user ~]$
sudo chown -R apache /var/www
-
/var/www
및 그 콘텐츠의 그룹 소유권을apache
그룹에 허용합니다.[ec2-user ~]$
sudo chgrp -R apache /var/www
-
/var/www
및 그 하위 디렉터리의 디렉터리 권한을 변경해서 그룹 쓰기 권한을 추가하고 미래 하위 디렉터리에서 그룹 ID를 설정합니다.[ec2-user ~]$
sudo chmod 2775 /var/www
[ec2-user ~]$
find /var/www -type d -exec sudo chmod 2775 {} \;
-
/var/www
및 그 하위 디렉터리의 파일 권한을 재귀적으로 변경합니다.[ec2-user ~]$
find /var/www -type f -exec sudo chmod 0644 {} \;
참고
WordPress FTP서버로도 사용하려는 경우 여기에 좀 더 허용적인 그룹 설정이 필요합니다. 이 작업을 WordPress 수행하려면 의 권장 단계 및 보안 설정을
검토하십시오. -
Apache 웹 서버를 재시작해서 새 그룹 및 권한을 가져옵니다.
[ec2-user ~]$
sudo systemctl restart httpd
023으로 WordPress 설치 스크립트를 실행하려면 AL2
설치할 WordPress 준비가 되었습니다. 사용하는 명령은 운영 체제에 따라 다릅니다. 이 절차의 명령은 AL2 023과 함께 사용하기 위한 것입니다. 이 명령 다음에 오는 프로시저를 AL2 AMI 023으로 사용하십시오.
-
systemctl 명령을 사용하여 시스템이 부팅될 때마다
httpd
및 데이터베이스 서비스가 시작되도록 합니다.[ec2-user ~]$
sudo systemctl enable httpd && sudo systemctl enable mariadb
-
데이터베이스 서버가 실행되는지 확인합니다.
[ec2-user ~]$
sudo systemctl status mariadb
데이터베이스 서비스가 실행 중이지 않은 경우, 이를 시작합니다.
[ec2-user ~]$
sudo systemctl start mariadb
-
Apache 웹 서버(
httpd
)가 실행 중인지 확인합니다.[ec2-user ~]$
sudo systemctl status httpd
httpd
서비스가 실행 중이지 않은 경우, 이를 시작합니다.[ec2-user ~]$
sudo systemctl start httpd
-
웹 브라우저에서 WordPress 블로그의 이름 (인스턴스의 퍼블릭 DNS 주소 또는 해당 주소 뒤에 오는
blog
폴더) 을 입력합니다. URL WordPress 설치 스크립트가 표시되어야 합니다. WordPress 설치에 필요한 정보를 제공하십시오. 설치를 WordPress 선택하여 설치를 완료합니다. 자세한 내용은 5단계: WordPress 웹 사이트에서 설치 스크립트 실행을참조하십시오.
AL2023으로 WordPress 설치 스크립트를 실행하려면 AMI
-
chkconfig 명령을 사용하여 시스템이 부팅될 때마다
httpd
및 데이터베이스 서비스가 시작되도록 합니다.[ec2-user ~]$
sudo chkconfig httpd on && sudo chkconfig mariadb on
-
데이터베이스 서버가 실행되는지 확인합니다.
[ec2-user ~]$
sudo service mariadb status
데이터베이스 서비스가 실행 중이지 않은 경우, 이를 시작합니다.
[ec2-user ~]$
sudo service mariadb start
-
Apache 웹 서버(
httpd
)가 실행 중인지 확인합니다.[ec2-user ~]$
sudo service httpd status
httpd
서비스가 실행 중이지 않은 경우, 이를 시작합니다.[ec2-user ~]$
sudo service httpd start
-
웹 브라우저에서 WordPress 블로그의 이름 URL (인스턴스의 공개 DNS 주소 또는 해당 주소 뒤에
blog
폴더) 을 입력합니다. WordPress 설치 스크립트가 표시되어야 합니다. WordPress 설치에 필요한 정보를 제공하십시오. 설치를 WordPress 선택하여 설치를 완료합니다. 자세한 내용은 5단계: WordPress 웹 사이트에서 설치 스크립트 실행을참조하십시오.
다음 단계
WordPress 블로그를 테스트한 후 구성을 업데이트해 보세요.
사용자 지정 도메인 이름 사용
EC2인스턴스 주소와 연결된 도메인 이름이 있는 경우 EC2 퍼블릭 EIP DNS 주소 대신 해당 이름을 사용하도록 블로그를 구성할 수 있습니다. 자세한 내용은 WordPress 웹 URL사이트의 사이트 변경을
블로그 구성
다른 테마
용량 증가
WordPress 블로그가 인기를 얻고 더 많은 컴퓨팅 파워나 스토리지가 필요한 경우 다음 단계를 고려해 보십시오.
-
인스턴스에서 스토리지 공간을 확장합니다. 자세한 내용은 Amazon EBS 엘라스틱 볼륨을 참조하십시오.
-
내 SQL 데이터베이스를 RDSAmazon으로
이동하여 서비스의 손쉬운 확장 기능을 활용하십시오.
인터넷 트래픽의 네트워크 성능 향상
블로그가 전 세계에 위치한 사용자로부터 트래픽을 유도할 것으로 예상되는 경우 AWS Global Accelerator
에 대해 자세히 알아보십시오. WordPress
다음 링크에는 에 대한 자세한 정보가 포함되어 WordPress 있습니다.
-
에 대한 WordPress 자세한 내용은 Codex의 WordPress Codex 도움말 설명서를 참조하십시오.
-
설치 문제 해결에 대한 자세한 내용은 일반적인 설치
문제를 참조하세요. -
WordPress 블로그의 보안을 강화하는 방법에 대한 자세한 내용은 강화를 참조하십시오. WordPress
-
WordPress 블로그 up-to-date 유지에 대한 자세한 내용은 업데이트를 WordPress
참조하십시오.
도움말! 공개 DNS 이름이 바뀌었고 지금은 블로그가 깨졌습니다.
EC2인스턴스의 퍼블릭 DNS 주소를 사용하여 WordPress 설치가 자동으로 구성됩니다. 인스턴스를 중지했다가 다시 시작하면 퍼블릭 DNS 주소가 변경되고 (엘라스틱 IP 주소와 연결되어 있지 않은 경우) 블로그는 더 이상 존재하지 않는 (또는 다른 EC2 인스턴스에 할당된) 주소의 리소스를 참조하기 때문에 더 이상 작동하지 않습니다. 문제에 대한 자세한 설명과 몇 가지 가능한 해결 방법은 https://wordpress.org/support/article/ changing-the-site-url /에
WordPress 설치 중에 이런 일이 발생한 경우 wp-cli 명령줄 인터페이스를 사용하는 아래 절차에 따라 블로그를 복구할 수 있습니다. WordPress
를 URL 사용하여 WordPress 사이트를 변경하려면 wp-cli
-
를 사용하여 EC2 인스턴스에 연결합니다SSH.
-
인스턴스의 이전 URL 사이트와 새 사이트를 기록해 URL 둡니다. 이전 URL 사이트는 설치 당시 EC2 인스턴스의 퍼블릭 DNS 이름일 가능성이 높습니다 WordPress. 새 URL 사이트는 EC2 인스턴스의 현재 공개 DNS 이름입니다. 이전 사이트가 URL 확실하지 않은 경우 다음 명령어를 curl 사용하여 찾을 수 있습니다.
[ec2-user ~]$
curl localhost | grep wp-content
출력에 이전 공개 DNS 이름에 대한 참조가 표시될 것입니다. 그러면 다음과 같이 보일 것입니다 (이전 사이트는 URL 빨간색으로 표시됨).
<script type='text/javascript' src='
http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com
/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> -
다음 명령으로 wp-cli를 다운로드합니다.
[ec2-user ~]$
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
-
WordPress 설치 시 이전 사이트를 URL 검색하고 다음 명령으로 바꾸십시오. 기존 사이트와 새 사이트를 URLs EC2 인스턴스와 WordPress 설치 경로 (일반적으로
/var/www/html
또는/var/www/html/blog
) 로 대체합니다.[ec2-user ~]$
php wp-cli.phar search-replace
'old_site_url'
'new_site_url'
--path=/path/to/wordpress/installation
--skip-columns=guid -
웹 브라우저에서 WordPress 블로그의 새 사이트를 URL 입력하여 사이트가 다시 제대로 작동하는지 확인합니다. 그렇지 않은 경우 자세한 내용은 사이트 변경 URL
및 일반적인 설치 문제를 참조하십시오.