AWS 도커 웹서버 설치 편에서 AWS EC2에 centos 설치하고
도커 인스턴스를 올리는 것까지 포스팅했다
이번 포스팅엔 인스턴스에 mysql, php를 설치해본다
ps 명령어로 현재 돌고 있는 인스턴스를 확인 가능
sudo docker ps -a
이전 포스팅에서 사용한 run 명령의 옵션 확인
sudo docker run -it --name centos7 -v /centos7:/var/www
--privileged -p 8080:8080 -p 3307:3307 centos:7 sbin/init
옵션 | 설명 |
---|---|
i | 표준 입력(stdin)을 활성화하며 컨테이너와 연결(attach)되어 있지 않더라도
표준 입력을 유지 (bash) |
t | tty 사용 |
name | 별칭 (centos7) |
v | 호스트와 인스턴스 마운트 (폴더 공유) |
privileged | 커널 사용 (systemctl 등) |
p | 포트 노출 (8080,3307 포트 점유) |
옵션 확인 후 인스턴스에 접속
[centos@ip-172-31-2-149 ~]$ sudo docker exec -it centos8 /bin/bash
[root@e01345459bfd /]#
AWS에 로그인 하여 보안그룹->launch-wizard-1->인바운드규칙 선택 후
우측 끝에 Edit inbound rules 클릭하면 방화벽 정책을 편집할 수 있다
도커 인스턴스에서 사용하는 웹포트로 지정한 8080 포트를 추가
방화벽 데몬 설치 후 8080, 3307 포트 열고
yum install -y firewalld
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
설정 후 cyd.kr:8080 접속 확인
wget은 HTTP, HTTPS, FTP 프로토콜을 이용하여 프로그램을 받을 수 있는 프로그램이다
rpm -ivh로 패키지를 설치하고 -ql로 내부파일 목록을 보고 -qi로 패키지 정보를 확인한다
mysql 기본포트는 3306이지만 인스턴스 올릴 때 3307포트를 열었기 때문에 포트번호를 바꿔준다
innodb_buffer_pool_size는 mysql 데몬 실행 시 기본 128M로 버퍼 설정이 되어 있는데
t2.micro 인스턴스를 사용하기 때문에 설치 시 오류가 나기 때문에 메모리를 줄여준다
yum update
yum install wget
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum repolist
rpm -ql mysql-community-release-el7-5.noarch
rpm -qi mysql-community-release-el7-5.noarch
yum install -y mysql-server
vi /etc/my.cnf.d/mysql-server.cnf
[mysqld] 아래에
port=3307
innodb_buffer_pool_size=64M
입력 후 저장
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
mysql_secure_installation
mysql -u root -p
mysql_secure_installation 설치 명령을 실행하면 몇가지 질문을 하는데
아래와 같이 설정함
설정 후 mysql -u root -p 명령으로 mysql에 접속해 권한설정과 테스트용 테이블을 생성
create database conda;
use conda;
create table user (user_id varchar(8), user_pw varchar(8));
insert into user values ('conda', '1120');
select * from user;
+---------+---------+
| user_id | user_pw |
+---------+---------+
| conda | 1120 |
+---------+---------+
아래 명령 실행 후 아파치 시작페이지 설정 부분에 php 확장자를 추가
yum install -y php php-cli php-common php-gd php-mysqlnd php-mbstring php-odbc php-pdo php-xml php-xmlrpc
yum list installed php*
rpm -qa | grep php
vi /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
아래와 같이 index.html 옆에 index.php 추가
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
php로 테스트테이블 조회하는 파일 작성
vi var/www/html/index.php
<?php
$db_host = "localhost";
$db_user = "root";
$db_passwd = "1120";
$db_name = "conda";
$conn= mysqli_connect($db_host, $db_user, $db_passwd, $db_name);
if(mysqli_connect_errno($conn)){
echo "DB connect error:", mysqli_connect_errno();
echo "<br>";
}else{
echo "연결완료!<br>";
$sql = "select * from user";
$res = mysqli_query($conn, $sql);
for($i=0;$row=mysqli_fetch_array($res);$i++){
echo $row['user_id']." : ".$row['user_pw'];
}
}
?>