일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 장애물인식프로그램 파이썬
- CRUD
- 백준 바이러스
- 백준
- 백준 A->B
- express mongodb
- 백준 점프
- 백준 등수매기기
- 지도자동구축 파이썬
- 금고털이 파이썬
- jenkins
- 등수매기기 파이썬
- MySQL완전삭제
- 프로그래머스
- 파이썬데이터분석라이브러리
- 피아노체조 파이썬
- 백준 예산
- 소프티어 지도자동구축
- 백준알파벳파이썬
- 백준 피아노체조
- 백준 전쟁-전투
- 백준 점프 파이썬
- 백준 평범한배낭
- express
- 1987파이썬
- 파이썬 평범한배낭
- MongoDB
- 백준 전쟁 파이썬
- 도커 컨테이너
- 소프티어 장애물인식프로그램
- Today
- Total
바위 뚫는중
[AWS] EC2 인스턴스에 Nginx, MySQL, PHP (LEMP stack) 서버 환경 구축 - 2. Nginx, MySQL, PHP 패키지 설치 후 http 외부 접속 본문
[AWS] EC2 인스턴스에 Nginx, MySQL, PHP (LEMP stack) 서버 환경 구축 - 2. Nginx, MySQL, PHP 패키지 설치 후 http 외부 접속
devran 2022. 10. 18. 17:30이전글을 참고하여 생성한 ec2에 ssh로 접속하여 진행!
https://dev-raeun.tistory.com/18
[AWS] EC2 인스턴스 생성하여 Nginx, MySQL, PHP (LEMP stack) 서버 환경 구축 - 1. EC2 인스턴스 생성
✅ AWS EC2 인스턴스 생성 AWS 회원가입 후 진행! https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home: 애플리케이션 및 OS 이미지 선택 Ubuntu 선택 인스턴스 유형 선택 프리..
dev-raeun.tistory.com
👩🏻💻목차
Nginx, MySQL, PHP 패키지 설치 후 http 외부 접속
- Nginx 설치, http 외부 접속 허용
- MySQL 설치 후 접속 (+MySQL 완전삭제 후 재설치하는 법 )
- PHP 설치, Nginx와 연동
🤖 개발환경
AWS ec2 - ubuntu
대부분이 로컬에서 진행하는거랑 매우 유사하지만, 많이 시도해볼수록 좋다고 생각한다. 여러번해도 꾸준히 에러가 나는 MySQL,,후후
✅ Nginx, MySQL, PHP 패키지 설치 후 http 외부 접속
1️⃣ Nginx 설치, http 외부 접속 허용
Nginx 설치
sudo apt update
sudo apt upgrade
sudo apt install nginx
인스턴스 보안 그룹 설정 후, http 외부 접속 허용
내 인스턴스에서 보안그룹을 클릭
인바운드 규칙 편집 클릭
인바운드 규칙 추가를 누르고 유형 → HTTP 소스 → Anywhere-IPv4 추가
내 규칙 확인
Http 접속 및 Nginx 설치 확인
퍼블릭 IPv4로 접속하여 페이지 확인
2️⃣ MySQL 설치 후 접속
MySQL 설치
sudo apt-get update
sudo apt install mysql-server
MySQL 기본설정
sudo ufw allow mysql #외부 접속 기능 설정 (3306 port 오픈)
sudo systemctl start mysql # MySQL 실행
sudo systemctl enable mysql # Ubuntu 재시작시 MySQL 자동 재시작
MySQL root 계정으로 접속
sudo /usr/bin/mysql -u root -p
MySQL 기본명령어
//mySql 버전 확인
mysql> SHOW VARIABLES LIKE "%version%";
//패스워드 설정
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';
//User 정보 확인
mysql> SELECT User, Host, authentication_string FROM mysql.user;
//hyperdata 이름을 가진 database 추가
mysql> CREATE DATABASE hyperdata;
//database 리스트 확인
mysql> SHOW DATABASES;
//test라는 계정 생성
mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY '비밀번호';
//해당 작업을 반영
mysql> FLUSH PRIVILEGES;
//test계정에서 hyperdata DB를 사용할 수 있도록 권한 부여
mysql> GRANT ALL PRIVILEGES ON hyperdata.* to test@localhost;
//해당 작업을 반영
mysql> FLUSH PRIVILEGES;
// test계정이 localhost에서 어떤 권한을 가지는지 확인
mysql> SHOW GRANTS FOR 'test'@'localhost';
//다른 서버에서 접속하고 싶다면
mysql > CREATE USER 'root'@'192.168.6.51' IDENTIFIED BY '비밀번호';
mysql > GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.6.51' WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
이게 한번에 되는 사람은 조금 드물더군요,,
수많은 에러를 겪다가 완전삭제후 재설치를 n번 반복한 뒤에야 진정한 MySQL을 맛볼 수 있었습니다!
❗️MySQL 완전삭제 후 재설치하는 법
sudo apt-get remove --purge mysql*
dpkg -l | grep mysql #mysql 관련 파일 확인
sudo apt-get remove --purge 파일명 #남은거 다 삭제
sudo apt-get install mysql-server
3️⃣ PHP 설치, Nginx와 연동
PHP 설치
Nginx에선 php-fpm을 반드시 설치해야함
sudo apt install php-fpm php-mysql
index.php 생성
cd /var/www/html/ #Nginx의 기본경로로 이동
sudo vi index.php #index.php 생성
#index.php에 다음과 같이 입력
<?php
phpinfo();
?>
Nginx 기본 설정 변경
dpkg -l | grep php #php-fpm의 버전확인해주기
vi /etc/nginx/sites-available/default #Nginx의 기본 설정 파일로 이동
다음과 같이 주석을 처리해주고, php 버전도 맞게 수정해준다
sudo service nginx restart #nginx 재시작
페이지 확인
퍼블릭 IP/index.php 로 접속하여 php 페이지 확인
성공적으로 된 것을 확인할 수 있음!
'Server' 카테고리의 다른 글
[AWS] EC2 인스턴스에 Nginx, MySQL, PHP (LEMP stack) 서버 환경 구축 - 1. EC2 인스턴스 생성 (0) | 2022.10.10 |
---|---|
[Server] SK Broadband 공유기 포트포워딩 (0) | 2022.10.02 |