11월 10일
트랜잭션 : DB에서 수행하는 작업 단위
mysql에서는 기본적으로 sql ; 한줄이 하나의 작업단위로 설정되어 있음
SELECT @@AUTOCOMMIT; (로 워크벤치에서 확인 1이면 설정됨, 0이면 해제됨)
show variables like 'autocommit';
SET AUTOCOMMIT = FALSE; AUTOCOMMIT 끄기
SET AUTOCOMMIT = TRUE; AUTOCOMMIT 켜기
#(cpu : 빠르지만 저장공간 작음)
#(mem : cpu보단 느리지만 hdd보단빠름)
#(hdd : 느리지만 저장공간 많음. hdd를 memory처럼 만들어주는게 ssd)
트랜잭션 특징
원자성 (Atomicity) : 트랜잭션 내의 모든 내용이 적용되거나
하나라도 안되면 모든 내용이 적용 안되야한다.
일관성 (Consistency) : 작업 처리 결과가 항상 일관성이 있어야 한다.
트랜잭션이 진행되는 동안 DB가 변경되더라도
원래 DB에 트랜잭션 처리를 마무리 하고 변경
독립성 (Isolation) : 어떤 트랜잭션이라도 다른 트랜잭션 연산 중간에
끼어들 수 없다.
영구성 (Durability) : 트랜잭션이 완료되면 영구적으로 반영되어야 한다.
트랜잭션 상태
부분 완료 완료
활성
실패 철회
활성 : 트랜잭션이 정상적으로 실행중인 상태
부분 완료 : 모든 작업이 다 수행된 상태, 적용은 아직 안됨
완료 : 적용까지 한 상태
실패 : 트랜잭션 수행 중 오류가 발생해서 중단된 상태
철회 : 트랜잭션의 모든 작업을 다시 취소한 상태
적용 : commit
취소 : rollback
#10001번의 성별이 m->f로 바뀌고 rollback하면 다시바뀐다?
SELECT @@AUTOCOMMIT;
show variables like 'autocommit';
SET AUTOCOMMIT = FALSE;
select from employees;
update employees set gender='F' where emp_no = 10001;
commit;
select from employees;
rollback;
#성별을 바꾸려고한다고할때 savepoint A;하고 rollback to A;하면 savepoint로 돌아감
select from employees;
update employees set first_name='abc' where emp_no = 10001;
savepoint A;
update employees set laast_name='def' where emp_no = 10001;
rollback to A;
select from employees;
nginx 웹 서버 설치
yum install -y nginx
php 설치
yum install -y php php-common php-cli php-fpm php-opcache php-mbstring php-xml php-xmlrpc php-gd php-pdo php-mysqlnd php-json php-soap php-odbc php-curl php-zip
yum install wget
워드 프레스 설치
1) 다운
wget https://ko.wordpress.org/latest-ko_KR.tar.gz
2) 다운 받은 파일 압축 해제
tar -zxvf latest-ko_KR.tar.gz
3) 압축푼 디렉토리 이동
압축 풀면 나오는 wordpress라는 디렉토리를 /var/www/html 밑으로 옮긴다.
cd ~
mv wordpress /var/www/html
mv된거 확인하려면 cd /var
4) 권한 설정(html로 이동한다음)
chown -R nginx:nginx ./wordpress
5) nginx 서버 설정
vi /etc/nginx/nginx.conf 파일 수정
42 root /usr/share/nginx/html; 전
42 root /var/www/html/wordpress; 후
6) 방화벽 끄기
둘 다
systemctl start nginx(방화벽끄고 nginx실행)
6) DB 서버에서 DB 생성 및 권한주기
7) 웹 으로 접속(구글에 내 IP주소 치면됨 10.10.10.110)
DB이름, DB ID, DB PW, DB 서버 주소 작성하고 다음
(web, lyj, qwer1234, 10.10.10.109으로 했음!)
8) wp-config.php 파일 생성(DB서버말고 nginx깔린서버에)
vi /var/www/html/wordpress/wp-config.php
웹 페이지에 떠 있는 내용을 그대로 복붙
HTTP 프로토콜
HTTP 가장최근버전이 1.1
HTTP타입(메소드) 종류(-보통이걸많이씀, 가장 기본적인 많이쓰는건 GET, POST)
GET - BODY가 없음, 주소창에 데이터를 보내줌.
POST - BODY가 있음, 패킷을 직접 열어서 봐야하기때문에? 중요한거보낼때씀
PUT
DELETE
추가적으로 OPTION, HEAD 정도? 쓰임
주소창에 보면
http
https -> secure가 붙은거라 정보를 암호화해서 전달한다~
URL = Uniform Resource Locator = 형식이 갖춰있는 자원(서버에저장된)을 찾아가는 위치
= 경로(절대경로, 상대경로의 개념이 적용됨, but 리눅스랑 다르게 프로그램이 지정한 경로가 제일 최상위 경로가 됨)
도메인주소
www.naver.com. 이라고 하면 뒤에 . = 루트DNS(A~M까지 13개있음)
뒤에 .부터 앞으로 오면서 해석함
DNS서버는 접속하고싶다고 물어본 주소가 접속이되든 안되든 일단 물어본 주소에대해서 그대로 알려줌
로컬DNS가 모든 주소를 다 알 수 없기때문에 루트DNS, 최상위DNS,책임DNS한테 다 물어보고 가져옴
#DNS에서 내컴퓨터주소를 쓰고싶다고 쓰는게 아니라 공인IP를 등록해놔라?
클라우드 = 남의컴퓨터를 빌리는거다~
sudo su root (root관리자로들어가)
apt install -y nginx(ubuntu에서 nginx설치)
mywordpress/ /var/
nginx재시작
systemctl stop nginx
aws에서 ubuntu로 인스턴스만들어서 연결(스톡홀름말고 서울로 연결!!! 혹시 스톡홀름으로 잘못했으면 인스턴스종료하면 삭제됨.진짜종료됐는지확인하기)
sudo su - root (root관리자로들어가)
apt install -y nginx(ubuntu에서 nginx설치)
저장소 업데이트
apt update
nginx 웹 서버 설치
apt install -y nginx
php 설치
apt install -y php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip zip unzip
워드 프레스 설치
1) 다운
wget https://ko.wordpress.org/latest-ko_KR.tar.gz
2) 다운 받은 파일 압축 해제
tar -zxvf latest-ko_KR.tar.gz
3) 압축푼 디렉토리 이동
압축 풀면 나오는 wordpress라는 디렉토리를 /var/www/html 밑으로 옮긴다.
mv wordpress /var/www/html
4) 권한 설정
chown -R ubuntu:ubuntu /var/www/html/wordpress
5) nginx 서버 설정(:set nu 해서 번호붙이고)
/etc/nginx/sites-available/default 파일 수정
41 root /var/www/html; 전
41 root /var/www/html/wordpress; 후
44 index index.html index.htm index.nginx-debian.html; 전
44 index index.php index.html index.htm index.nginx-debian.html;후
57, 58, 61, 64 주석 해제
6) 클라우드 방화벽 끄기
보안 그룹 인바운드 설정
aws홈페이지 -> EC2 -> 보안그룹 -> 인바운드규칙편집 -> 소스 0.0.0.0/0바꾸기
+ 규칙추가 -> 유형 HTTP, 포트범위80,소스0.0.0.0/0
구글들어가서 인스턴스 공유IP주소쳐보기
#왜안되지? 쌤은 이것들 쳐봄
cd /var/www/
cd html
chown -R nobody:ubuntu wordpress
chmod 777 -R ./wordpress/
systemctl restart nginx
6) DB 서버에서 DB 생성 및 권한주기(aws DB설정 이라는 강의들으면됨)
aws RDS
7) 웹 으로 접속
DB이름, DB ID, DB PW, DB 서버 주소 작성하고 다음
8) wp-config.php 파일 생성
vi /var/www/html/wordpress/wp-config.php
웹 페이지에 떠 있는 내용을 그대로 복붙
#PHP는 'Personal Home Page Tools', 웹사이트 제작에 특화된 백엔드(서버)언어
#클라이언트가 서버에 정보를 가져오라하면 서버는 DB에서 정보를 가져오는데 그 정보를 편하고 이쁘게, (이 정보도 php로, 저 정보도 php로) php로 변환?해서 보여주는 것. 여러 코드들을 모아서 하나로 뭉쳐줘야 기능들이 작동하는데 이걸 워드프레스가 클릭한번으로 가능하게하면서도 내가 만들수도 있고 출력할수도있는 완전 좋은툴, 템플렛이라고 생각하면됨 = wordpress