저번주에 웹 ui에서 작업
네트워크꾸미기. vm만들기. 클라우드 플랫폼을 처음으로 만들어봄
오픈스택부터는 클라우드에 접근
번거로웠던 구축이 ex) NAT 등.. 간단해졌다. -> 클라우드 서비스의 특징
웹 UI 마무리 짓고 CLI에서 진행해볼 것.
HAPROXY만들고 2대의 웹서버, 1 DB 서버 해볼것
클라우드는 포트포워드 개념이 없음, 클라우드는 라우터의 기능이 내재되어 있어 크게 신경안써도됨-> 종속성이 생길 수 있다.
진행이 잘되면 워드프레스 설치할 것
CentOS wordpress 설치
프로젝트 - 인스턴스 클릭 - 인스턴스 시작 클릭
[centos@web01centos7 ~]$ sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[centos@web01centos7 ~]$ sudo yum -y install epel-release yum-utils
[centos@web01centos7 ~]$ sudo yum-config-manager --enable remi-php74
[centos@web01centos7 ~]$ sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
컨테이너(swift) 생성
* 도커 컨테이너 아님, 저장소임
프로젝트 - 오브젝트 스토리지 선택 - 컨테이너 - +컨테이너
파일 업로드하고, 폴더를 생성할 수도 있다.
images 폴더 만들었고, 안에 토끼 이미지 업로드
체크하면 공유가능, Link 선택 후 폴더 경로와 파일명 써서 링크 공유해주면 된다.
링크로 서버에서 wget을 이용해서 다운가능(url서비스, 오브젝트 스토리지)
공유받은 index.html 파일 root 경로에 업로드
Link 주소 뒤에 index.html로 접속하면 정적인 웹페이지가 나온다.
정적웹사이트 호스팅의 기능을 한다.
ko.wordpress.org 에 들어가서 워드프레스 파일 다운 받아서 오프젝트 스토리지에 올려준다.
[centos@web01centos7 ~]$ wget http://192.168.0.68:8080/v1/AUTH_e1a591ef8b644c8fac35203bad171100/mz19/wordpress-5.9.3-ko_KR.zip // centos 웹서버에 워드프레스 다운
[centos@web01centos7 html]$ cd /var/www/html/
[centos@web01centos7 html]$ sudo unzip /home/centos/wordpress-5.9.3-ko_KR.zip
// 현재 경로에 압축 풀기, 경로 유의하자
[centos@web01centos7 html]$ ls
wordpress
[centos@web01centos7 html]$ sudo mv wordpress/* .
[centos@web01centos7 html]$ sudo chown -R apache:apache /var/www/*
[centos@web01centos7 html]$ sudo systemctl restart httpd
[centos@web01centos7 html]$ sestatus
SELinux status: disabled
[centos@web01centos7 html]$ sudo php -v
PHP 7.4.29 (cli) (built: Apr 12 2022 10:55:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
프로젝트 - 볼륨 선택 - 볼륨 또 선택
루트(vda, 윈도우에선 c드라이브) 볼륨이 10GB 존재하는 것을 확인
인스턴스가 지워지더라도 볼륨은 남아있을 것. 미리 설정해놨기 때문에
루트볼륨 용량이 부족할 시, 추가할 수 있다.
볼륨 생성 아이콘 클릭
크기 지정해주기.
WEB01에 ADD볼륨 붙이기
볼륨 연결관리 선택
WEB01연결
* Attach : 연결, detach : 연결 해제
마운트하기위해서 mobaxterm 접속
[centos@web01centos7 html]$ cd ~
[centos@web01centos7 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 1G 0 disk
[centos@web01centos7 ~]$ df -h // 마운트가 안되어있음, vdb
Filesystem Size Used Avail Use% Mounted on
devtmpfs 472M 0 472M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 483M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 10G 1.2G 8.8G 12% /
tmpfs 100M 0 100M 0% /run/user/1000
[centos@web01centos7 ~]$ sudo mkfs -t ext4 /dev/vdb
[centos@web01centos7 ~]$ sudo mount /dev/vdb /mnt/
[centos@web01centos7 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 472M 0 472M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 483M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 10G 1.2G 8.8G 12% /
tmpfs 100M 0 100M 0% /run/user/1000
/dev/vdb 976M 2.6M 907M 1% /mnt
//워드프레스 파일 추가볼륨에 복붙
[centos@web01centos7 ~]$ sudo cp wordpress-5.9.3-ko_KR.zip /mnt/
우분투
우분투 이미지 올리기
프로젝트 - 컴퓨트 - 이미지(Glance) - 이미지 생성 클릭
* bionic server : Ubuntu 18 의미
* qcow2로 사용하는 것이 좋다. 호환성이 좋음
지난시간에 키페어와 보안그룹, floating ip를 만들어줘서 따로 생성 필요x
만들지않으면 곤란한 상황 발생 미리 생성해두자!
우분투 인스턴스 생성
프로젝트 - 컴퓨트 - 인스턴스 클릭 - 인스턴스 생성 클릭
세부정보
인스턴스 이름 설정
소스
소스 설정, 우분투 올리고 볼륨크기 조정
Flaver
m1.micro 올리기
네트워크
INTERNAL 올리기
네트워크 포트
* 네트워크 포트 스킵
보안 그룹
default 내리고 sg-web 올리기.
키 페어
* 키페어는 이미 올라가있음
구성
인스턴스가 만들어지는 과정에서 미리 세팅이 되도록 사용자 정의 스크립트(shell)에 명령어를 넣는다.
* 규칙 : 첫 줄에 꼭 #!/bin/bash. root 권한으로 실행되기 때문에 sudo를 넣지않아도 된다.
Floating ip 넣기
프로젝트 - 인스턴스 - web02에서 오른쪽 드롭다운
named에 ip넣어주기.dns에 등록.
ping 도메인으로 잘 날라가는지 확인
웹 서버 접속 잘 되는 지 확인
mobaXterm web02 세션 생성
ubuntu@web02ubuntu18:~$ lsblk // vda만 있음
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 9.9G 0 part /
├─vda14 252:14 0 4M 0 part
└─vda15 252:15 0 106M 0 part /boot/efi
web01에서 이용중인 볼륨을 떼어서 붙일 수 있다.
web01 언마운트
// web01 에서
[centos@web01centos7 ~]$ cd ~
[centos@web01centos7 ~]$ sudo umount /mnt
[centos@web01centos7 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 472M 0 472M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 483M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 10G 1.2G 8.8G 12% /
tmpfs 100M 0 100M 0% /run/user/1000
attach - mount - umount - detach 순서로 진행
프로젝트 - 볼륨 - 볼륨 - web01-ADD 오른쪽 드롭다운 - 연결관리 - 연결해제
WEB02 마운트
프로젝트 - 볼륨 - 볼륨 - web01-ADD 오른쪽 드롭다운 - 연결관리 - WEB02에 연결
ubuntu@web02ubuntu18:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 9.9G 0 part /
├─vda14 252:14 0 4M 0 part
└─vda15 252:15 0 106M 0 part /boot/efi
vdb 252:16 0 1G 0 disk
ubuntu@web02ubuntu18:~$ sudo mount /dev/vdb /mnt/
ubuntu@web02ubuntu18:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 481M 0 481M 0% /dev
tmpfs 99M 648K 98M 1% /run
/dev/vda1 9.6G 1.3G 8.3G 14% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/vda15 105M 4.4M 100M 5% /boot/efi
tmpfs 99M 0 99M 0% /run/user/1000
/dev/vdb 976M 23M 887M 3% /mnt # 마운트 확인
마운트만 해주면 된다. 포맷할 필요 X
우분투 워드프레스 설치
ubuntu@web02ubuntu18:~$ sudo apt install -y php7.2 php7.2-mysql php7.2-mbstring php7.2-gd php7.2-fpm wget unzip
ubuntu@web02ubuntu18:~$ sudo mkdir -p /var/www/html/wordpress/public_html
ubuntu@web02ubuntu18:~$ cd /etc/nginx/sites-available
$ sudo vi wordpress.conf
server {
listen 80;
root /var/www/html/wordpress/public_html;
index index.php index.html;
server_name www.mz19.shop; # 도메인 변경
access_log /var/log/nginx/SUBDOMAIN.access.log;
error_log /var/log/nginx/SUBDOMAIN.error.log;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
ubuntu@web02ubuntu18:/etc/nginx/sites-available$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# successful , ok 떠야한다
# 위에서 만든 것 링크해주기
ubuntu@web02ubuntu18:/etc/nginx/sites-available$ cd /etc/nginx/sites-enabled/
ubuntu@web02ubuntu18:/etc/nginx/sites-enabled$ sudo ln -s ../sites-available/wordpress.conf .
ubuntu@web02ubuntu18:/etc/nginx/sites-enabled$ sudo systemctl reload nginx
ubuntu@web02ubuntu18:/etc/nginx/sites-enabled$ cd /var/www/html/wordpress/public_html
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo unzip /mnt/wordpress-5.9.3-ko_KR.zip
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo mv wordpress/* .
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo chown -R www-data:www-data *
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo chmod -R 755 *
콘솔 - 프로젝트 - 네트워크 - 보안그룹 - 보안그룹생성
규칙 추가 클릭 - MY SQL - 규칙 추가
SSH 추가
핑 추가
프로젝트 - 인스턴스 - 인스턴스 생성
세부 정보
소스
Centos, 볼륨 크기 10GB
Flavor
m1.micro
네트워크
INTERNAL
보안그룹
SG-WEB
인스턴스 시작
인스턴스 생성 중 에러가 나서 사양을 낮추어서 진행하기 위해 nano Flavor를 생성한다.
오류난 인스턴스와 available상태인 볼륨을 삭제
프로젝트 - 컴퓨트 - 인스턴스 - web01 드롭다운 - 인스턴스 크기 변경 - m1.nano 선택
크기변경, 이전확인 클릭
보안그룹 변경
인스턴스 - DATABASE 드롭다운 - 포트 보안그룹 편집 - SG-DB로 선택
서비스 구동 중에도 볼륨 늘릴 수 있다.
볼륨 확장 클릭
새로운 크기 지정. scale up(수직적 확장)이라고 한다. 5GB가 늘어난다. <-> scale down(수직적 축소)
* 늘어난 볼륨을 줄이는 경우는 없다.!!
에러남