AWS, Google cloud platform, Microsoft Azure, LG CNS cloud, 네이버 클라우드
구글 클라우드 플랫폼 → 쿠버네티스가 나오고 인터넷이 한단계 더 진화함
(쿠버네티스란? 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다.)
⭐온프레미스: 자사가 서버 등을 구축하는 것. 네트워크나 장소를 임대하는 경우
로드 밸런서: 서버 여러 대에 분배하는 장치
이중화: 시스템이나 서버에 문제가 생겨도 계속 가동할 수 있도록 조치하는 것
(p.64) SaaS, Paas, IaaS 중 제일 기본이 되는 건 IaaS
IaaS 서버 ovf 파일 만들어서 공유 가능
SaaS: 어플리케이션까지 제공, PaaS는 플랫폼까지 제공, IaaS는 인프라만 제공
LAN을 구성하는 기술
네트워크 만들기, 망 구성하기, 네트워크 대역에 대한 개념이 있어야 한다. TCP/IP 확인하기
(참고: https://imweb.me/blog?idx=102)
DNS와 도메인
tcp 데이터 잘받았니? 확인하는거
upd 잘받았는지 확인까지는 하지 않는
도메인에 접속하고 싶다 → DNS 서버 → ip로 DNS 서버 찾기
프로토콜명: https://
호스트명: www
도메인명: aws.comCGI: 서버에서 처리하는 프로그램을 말한다.
웹사이트에 대한 공격 방법(pp.82)
보안 그룹 생성

VPC는 자동, 소스는 접속 가능한 자 설정할 수 있음
https 는 보안접속
cd /proc : 프로세스 관리하는 디렉토리
ls로 조회 가능
cat cpuinfo로 내가 만든 내용을 확인할 수 있음
free -h 메모리 확인 가능

인스턴스 확인
• processor 확인
• cat /proc/cpuinfo
메모리 확인
• free –h
디스크 확인 → root 파티션만 보면 된다
• df -h
재시동시 계속 ip가 바뀐다 사설 ip 배당, 명령어가 조금 다르다

1) nginx가 권한을 가질 수 있도록
2) www.data에서 하는게 맞는지 ps -ef |grep nginx를 통해서 어떤 계정으로 운영되는지 찾아보기 nginx인가? 하고 id nginx 쳐보면 아이디 자체가 nginx다.
3) vi /etc/nginx/
내려가면 include 보면 아래 서버가 바로 들어가 있음, 파일이 없고 아래 server에 root를 보면 위치가 나와있음.
⭐위치 찾는게 정말 중요 중요
!php 워드프레스 연동해보자!
* nginx, mysql 서버가 설치가 되어있는 환경
**yum** install nginx
which yum **# /usr/bin/yum 에 있음.**
netstat -anp | grep 80 **# 잘 구동되는지 확인하기**
systemctl enable nginx **#시작시 nginx 자동실행**
systemctl start nginx
**0. 워드프레스 다운로드 ------------**
wget https://wordpress.org/latest.tar.gz **#설치파일 다운로드**
tar xvzf latest.tar.gz **#압축해제**
mkdir /usr/share/nginx/html/wordpress
cp -rf ./wordpress/* /usr/share/nginx/html/wordpress **#nginx, wordpress 위치 확인하기**
chown -R nginx.nginx /usr/share/nginx/html/wordpress
invalid user: www-data **#권한변경**
ps -ef | grep nginx **#www가 아니라 nginx로 되어 있음.**
→ id nginx 하면 nginx가 있음.
→ nginx.nginx로 소유자 변경 필요, (아이디).(프로세스)
→ (밑에) /usr/share/nginx/html/wordpress (홈디렉토리) **#압축한 걸 이 경로에 넣고 권한 바꾸기**
**1. php 설치 ---------------**
sudo yum install php-cli php-fpm php-mysql**nd**
yum list | grep php | grep mysql
→ mysqlnd라고 나옴 > mysql이 아니라 mysqlnd로 설치해야 함을 찾아내야 함.
→ 버전 빼고 이름만 명시하면 가장 적합한 패키지(보통 최신버전)로 설치해줌.
**2. vi ~~/etc/nginx/sites-available/default~~에 다음을 저장**
→ sites-available이라는 폴더가 없고, 설정파일에 다른데 있음.
→ /etc/nginx/nginx.conf
server {
listen 80 default_server;
root /usr/share/nginx/html/wordpress; **#워드프레스 설치한 폴더로.**
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ { → **변경없음**
include
fastcgi_pass unix:
find / -name "php-fpm*" -print
/usr/lib/systemd/system/php-fpm.service 이런 폴더를 찾을 수 있음.
systemctl start php-fpm : 수동으로 시작할 수 있음.
systemctl enable php-fpm : 자동실행목록에 추가
→ 위치 알 수 잇도록 cd /run/php-fpm/ (tab)
ls
www.sock이 있는 걸 알 수 있음. 이 위치로 적어줘도 됨.
ps -ef | grep php-fpm 으로 보니 nginx가 아닌 apache로 되어 있음.
grep "apache" -r ./ 이렇게 했는데 nginx로 안 뜸
vi ./php-fpm.d/www.conf
→ user와 group을 apache에서 nginx로 변경 필요 =apache → =nginx로 바꾸기
ps -ef | grep php-fpm 에서 nginx로 바뀌어졌는지 확인
systemctl restart php-fpm
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
3. 서비스 재구동
systemctl restart nginx
4. 데이터베이스 생성
mariadb 설치하기
yum list | grep "mariadb" #검색해보면 mariadb105 라고 나오니까 105로 설치하기!
yum install mariadb105-server
systemctl restart mariadb
netstat -anp | grep "3306" # 3306 포트 떠 있는지 확인
오류: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
-> systemctl start mariadb
mysql -u root
create database myhome;
use myhome;
create table userInfo ( uid int, uname varchar(20), pass varchar(128), profile varchar(200), priority int );
insert into userInfo (uid, uname, pass, profile, priority)values(0, "admin", password("1234"), "관리자", 0);
insert into userInfo (uid, uname, pass, profile, priority)values(1, "user1", password("1234"), "행인1", 1);
insert into userInfo (uid, uname, pass, profile, priority)values(2, "user2", password("1234"), "행인2", 1);
insert into userInfo (uid, uname, pass, profile, priority)values(3, "user3", "abcd", "행인3", 1);
데이터베이스 이름 : myhome
데이터베이스 아이디 : mydb
암호 : abcd
아이디:
비밀번호:
워드프레스 운용 계정 생성
use mysql;
create user 'wpuser'@'%' identified by 'abcd';
grant all privileges on *.* to 'wpuser'@'%';
flush privileges;
5. 브라우저를 통해 접속, 셋업
http://192.168.0.81:80