이번에는 지난 포스팅에 이어서, RDS에 접속해서 데이터가 저장될 테이블을 생성해보겠습니다.
목적은 특정한 Form을 제작해서 데이터를 테이블로 전달하는 페이지를 만드는 것입니다.
그것을 위해 우선은 특정한 방법을 통해서 RDS 에 접근해보겠습니다.
RDS 인스턴스에 접속을 위해서는 다음과 같은 방법을 사용 가능합니다.
MySQL 클라이언트 사용: 로컬 컴퓨터에 설치된 MySQL 클라이언트(예: MySQL Command Line Tool, MySQL Workbench)를 사용하여 RDS 인스턴스에 직접 연결합니다. 연결을 위해 필요한 RDS 인스턴스의 엔드포인트와 로그인 정보(사용자 이름과 비밀번호)가 필요합니다.
타사 데이터베이스 관리 도구 사용: phpMyAdmin, Adminer 등과 같은 웹 기반 MySQL 관리 도구를 사용하여 RDS에 접속할 수 있습니다. 이 도구들은 웹 서버에 설치되어야 하며, RDS 인스턴스로의 접속을 구성해야 합니다.
MySQL Workbench를 사용하여 RDS에 연결하는 방법:
phpMyAdmin을 사용하여 RDS에 연결하는 방법:
AWS EC2 인스턴스에 phpMyAdmin을 설치한 후, phpMyAdmin 구성 파일(config.inc.php)에서 RDS 인스턴스의 엔드포인트, 포트, 사용자 이름, 비밀번호를 사용하여 RDS 인스턴스로의 접속을 설정할 수 있습니다. 그 후에는 웹 브라우저를 통해 EC2 인스턴스에 설치된 phpMyAdmin에 접속하고, 여기서 RDS 데이터베이스를 관리할 수 있습니다.
위 방법 중 어느 것도 AWS에서 직접 제공하는 웹 인터페이스로 접속하는 것은 아니며, 일반적으로 관리를 위한 도구를 별도로 설정해야 합니다.
위 많은 방법들 중 저는 브라우저 통해 들어가기 쉽도록 phpMyAdmin을 설치하는 방식으로 가보겠습니다.
SSH를 사용하여 EC2 인스턴스에 접속합니다.
오른쪽 코드는 만약 코드로 접속할 때의 예시이고..
그냥 Putty 이용하는 게 좋습니다.
ssh -i "your-key.pem" ec2-user@your-ec2-ip
웹 서버의 루트 디렉토리로 이동한 다음, phpMyAdmin을 다운로드합니다.
cd /home/ec2-user
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.zip
phpMyAdmin 압축 파일을 해제합니다.
unzip phpMyAdmin-4.9.7-all-languages.zip
mv phpMyAdmin-4.9.7-all-languages phpMyAdmin
cd phpMyAdmin
cp config.sample.inc.php config.inc.php
nano config.inc.php
sudo nano /etc/nginx/nginx.conf
설정 파일에 있는 server { …. } 에서,
… 안에 정보가 엄청 많이 있죠? 여기에서 가장 하단에 그냥 아래 코드만 붙여 넣으면 됩니다.
location /phpmyadmin {
root /home/ec2-user;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # 이 경로는 시스템에 따라 달라질 수 있음
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /home/ec2-user;
}
}
Nginx 오류 로그 확인: Nginx 오류 로그 파일(/var/log/nginx/error.log)을 확인하여 구체적인 오류 메시지를 찾습니다. 이 로그는 문제 해결의 첫 번째 단계가 될 수 있습니다.
파일 권한 확인: phpMyAdmin 디렉토리와 파일들이 올바른 권한을 가지고 있는지 확인합니다. 웹 서버 사용자(nginx 또는 www-data 등)가 이 파일들을 읽을 수 있어야 합니다.
PHP-FPM 상태 확인: PHP-FPM 서비스가 제대로 실행되고 있고, Nginx와의 소켓 연결이 올바르게 설정되었는지 확인합니다.
PHP 오류 로그 확인: PHP의 오류 로그도 확인하여 phpMyAdmin이나 PHP 스크립트 실행 중에 발생하는 문제를 진단할 수 있습니다.
phpMyAdmin 설정 파일 확인: config.inc.php 파일이 올바르게 설정되어 있는지 확인합니다. phpMyAdmin의 설정이 잘못되었거나 누락된 경우에도 내부 서버 오류가 발생할 수 있습니다.
서버의 리소스 확인: 때때로 메모리 부족과 같은 리소스 제한으로 인해 500 오류가 발생할 수 있습니다. EC2 인스턴스의 리소스 사용량을 확인해보세요.
Nginx 오류 로그 확인:
sudo tail -f /var/log/nginx/error.log
이 명령어는 최근 Nginx 오류 로그를 보여주며, 발생한 오류의 세부 정보를 파악하는 데 도움이 됩니다.
파일 권한 확인: phpMyAdmin 디렉토리와 파일의 권한을 확인하기 위해 다음 명령어를 사용합니다.
ls -l /path/to/phpMyAdmin
여기서 /path/to/phpMyAdmin는 phpMyAdmin이 설치된 디렉토리의 경로입니다.
PHP-FPM 상태 확인:
sudo systemctl status php-fpm
이 명령어는 PHP-FPM 서비스의 상태를 보여줍니다. 서비스가 실패하거나 비활성화된 경우 로그를 확인해야 할 수 있습니다.
PHP 오류 로그 확인: PHP 오류 로그의 위치는 설정에 따라 다르지만, 일반적으로 다음 위치에서 찾을 수 있습니다.
sudo tail -f /var/log/php-fpm/error.log
만약 이 경로가 아니라면, php.ini 파일을 확인하여 로그의 정확한 위치를 찾아보세요.
phpMyAdmin 설정 파일 확인: config.inc.php 파일을 에디터로 열어 올바르게 구성되어 있는지 검토합니다.
nano /path/to/phpMyAdmin/config.inc.php
이 파일은 phpMyAdmin의 데이터베이스 연결과 기타 설정 정보를 포함하고 있습니다.
서버의 리소스 확인: 다음 명령어들을 사용하여 CPU 사용률, 메모리 사용량, 디스크 사용량 등을 확인할 수 있습니다.
top
htop
sudo yum install htop 또는 sudo apt install htop을 사용하여 설치할 수 있습니다.)df -h
free -m
이러한 단계를 통해 시스템 리소스와 관련된 문제가 있는지, 그리고 phpMyAdmin 또는 PHP 관련 설정에 문제가 있는지 확인할 수 있습니다.