옐그's 코딩라이프

[Server] AWS 서버 외부에서 Nginx 이용하여 접속 및 PHP, mySQL 설치하기 본문

Server

[Server] AWS 서버 외부에서 Nginx 이용하여 접속 및 PHP, mySQL 설치하기

옐그멍이 2022. 10. 8. 18:02
외부에서 접속하기 전체 과정
1. WinSCP로 서버의 파일 관리자에 접속하기
2. Server 터미널에 접속하기
3. Server에 Nginx web server 설치하고 확인하기
4. mySQL 설치하기
5. php 설치하기

1. WinSCP로 서버의 파일 관리자에 접속하기

- 이 과정을 하려면 AWS에서 인바운드 규칙 설정시 ssh을 선택했어야 한다. 

- WinSCP는 설치가 까다롭지 않기 때문에 그냥 설정된 기본값으로 설치하면 된다.

 

(1) 인스턴스에서 퍼블릭 IPv4 주소를 복사한다.

(2) WinSCP에서 호스트 이름에 ip주소를 복사해준다. (포트 번호는 알아서 22로 설정이 됨)

(3) 아래를 참고하여 본인 서버의 OS에 맞는 사용자 이름을 입력해준다. (비밀번호는 없음)

(4) 고급 설정을 눌러서 인스턴스 시작하기에서 다운받았던 개인키 파일을 선택해준다. 

- .pem 확장자로 다운받았을 경우, 아래 확장자를 pem으로 바꿔서 선택해주면 알아서 .ppk로 바꿔준다.

(5) 저장 버튼을 눌러주고 다음과 같이 설정해준 키 페어 이름에 맞게 입력한다. 

(6) 다음과 같은 창이 뜨면 "예" 를 눌러준다.

(7) WinSCP로 서버의 파일 관리자에 접속하기 성공!

2. Server 터미널에 접속하기

(1) PuTTY에서 열기를 눌러준다.

- 눌렀는데 "파일 'C:\Program Files (x86)\PuTTY\putty.exe'를 찾을 수 없습니다."와 같은 오류가 뜬다면 아래 글을 참조하자. https://yell0wgreen.tistory.com/20

(2) 서버의 우분투 터미널 환경에 접속하였다.

3. Server에 Nginx web server 설치하고 확인하기

(1) 아래의 명령어를 통해 Nginx 을 설치한다.

$ sudo apt update
$ sudo apt install nginx

 

(2) 서버 ip주소을 주소창에 입력하면 접속 완료

- 사이트에 연결할 수 없음과 같은 창이 뜬다면 http 설정을 안해준 것이므로 아래 링크를 참고

https://yell0wgreen.tistory.com/21

4. mySQL 설치하기

(1) 아래 명령어를 터미널에 입력해 mySQL 설치하기

$ sudo apt install mysql-server

(2) mySQL 실행 확인 해보기

$ sudo mysql

 

5. php 설치하기

(1) 아래 명령어를 입력해 php 패키지 설치

$ sudo apt install php-fpm php-mysql

(2) php 설정 바꾸기

$ sudo vi /etc/nginx/sites-available/default

위의 명령어를 입력하여 아래 파일로 접속해서 location ~ \.php${} 이 부분을 다음과 같이 주석을 없애준다.

- 우분투 18.04를 사용하는 경우에는 php7.2로 바꿔주도록 한다.

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
# 위와 같은 에러가 뜨는 경우는 fastcgi_pass가 두개나 주석 해제가 된 것이 원인임
# 따라서 fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; 하나만 주석해제를 해주도록 하자

(3) Nginx 기본 경로로 들어가서 php 파일 작성

전체 과정은 다음과 같음

cd /var/www/html/   # nginx 기본 경로임
vi index.php        # 새 php 파일 만들기

- 안에는 대충 phpinfo 넣어줍니다

(4) 주소창에 {서버ip주소}/index.php을 입력해주면 확인 끝

728x90