1. 사전 준비
되도록이면 다음 과정을 끝내고 하는 것을 권장한다.
https://forfull.tistory.com/14
ec2 가상머신 만들고 접속해보기
가상머신을 만들어보자. 1. 프리 티어만 체크 2. Ubuntu 20.04 LTS 선택 계속 다음을 클릭해야 하며, 검토 밋 시작을 눌러선 안됨 계속 다음을 클릭해야 하며, 검토 밋 시작을 눌러선 안됨 기본적으로
forfull.tistory.com
GCP를 이용하여 Ubuntu 가상머신 만들고 실행해보기
GCP는 Google Cloud Platform의 약자로 구글에서 제공해주는 클라우드 서비스이다. 아마존을 사용하면서 주변 지인으로부터 구글에서도 클라우드 서비스를 제공해주며, 평생 가상머신 1대를 무료로 제
forfull.tistory.com
https://forfull.tistory.com/15
freenom을 이용하여 도메인 등록을 해보자.
freenom 해외에서 운영하고 있는 도메인 등록 서비스 업체이다. 본사는 네덜란드 암스테르담에 있다. 사용하기 전에 로그인을 하는 게 좋다. (google or facebook) 로그인을 하고 Services > Register a New Dom..
forfull.tistory.com
2. apache2 설치
아파치를 설치해보자.
sudo passwd root
만약 root 계정에 그 어떠한 설정도 하지 않았으면 위 명령어를 이용하여 root계정의 비밀번호를 추가한다.
su root
root 계정에 접속
apt-get update
apt-get install apache2
apt는 Advanced Packaging Tool의 약자로 데비안과 우분투를 포함한 리눅스 패키지 관리 도구이다.
apt계열 관리 도구는 다음과 같은 것들이 있다.
apt / apt-get / apt-cache / apt-key / apt-add-repository / apt-mark / apt-config
apt-cdrom / apt-extracttemplates / apt-ftparchive / apt-sortpkgs / aptdcon
apturl / apturl-gtk
가장 흔하게 쓰이는 것은 apt, apt-get이므로 나머지는 따로 시간이 되면 공부해보는걸로 하자.
ls -al /etc
아파치가 정상적으로 깔렸다면 위 명령어를 썼을때 apache2 폴더가 보여야 한다.
service apache2 start
아파치를 실행하고 해당 가상머신의 IP로 접속해보자.
public ip만 입력하고 접속하면 다음과 같은 화면이 나올 것이다.
도메인을 발급받고 route53을 통해 연결을 했다면
발급받은 도메인주소로도 한번 접속해보자.
위 화면이 나오면 성공적으로 아파치가 구동되고 있다는 뜻이 된다.
만약 페이지 접근이 안된다면
1. 가상머신의 public ip를 올바르게 입력하였는가
2. 아파치가 제대로 설치되었는가
를 확인해보자. 설치 중간에 무슨 오류가 뜬다면 이는 설치가 잘못됐다고 봐야 한다.
(오타가 아니고서는 설치 오류가 생기는 경우는 거의 없다.)
3. 접속 정보 설정하기
cd /etc/apache2
ls -al
total 88
drwxr-xr-x 8 root root 4096 Jan 3 09:51 .
drwxr-xr-x 101 root root 4096 Jan 3 09:51 ..
-rw-r--r-- 1 root root 7224 Nov 14 23:52 apache2.conf
drwxr-xr-x 2 root root 4096 Jan 3 09:51 conf-available
drwxr-xr-x 2 root root 4096 Jan 3 09:51 conf-enabled
-rw-r--r-- 1 root root 1782 Sep 30 2020 envvars
-rw-r--r-- 1 root root 31063 Sep 30 2020 magic
drwxr-xr-x 2 root root 12288 Jan 3 09:51 mods-available
drwxr-xr-x 2 root root 4096 Jan 3 09:51 mods-enabled
-rw-r--r-- 1 root root 320 Sep 30 2020 ports.conf
drwxr-xr-x 2 root root 4096 Jan 3 09:51 sites-available
drwxr-xr-x 2 root root 4096 Jan 3 09:51 sites-enabled
apache2 폴더에 접근하여 ls 명령어를 쓰면 다음과 같은 폴더들이 보일 것이다.
cd sites-available
ls -al
total 20
drwxr-xr-x 2 root root 4096 Jan 3 09:51 .
drwxr-xr-x 8 root root 4096 Jan 3 09:51 ..
-rw-r--r-- 1 root root 1332 Sep 30 2020 000-default.conf
-rw-r--r-- 1 root root 6338 Sep 30 2020 default-ssl.conf
sites-available에 접근해보자.
다음과 같은 파일이 2개만 있을 것이다.
보통 apache에 적용시키기 위해 커스텀 파일을 만들 때는 {domain}.conf형태로 만든다.
예를 들어 domain이 example.com이면 example.com.conf 이렇게 만든다고 보면 된다.
vi example.com.conf
vi 편집기를 열자. 파일명은 본인이 설정한 도메인.conf로 명명하면 된다.
<VirtualHost *:80>
ServerName example.com
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
<Location>
</VirtualHost>
파일 내에는 다음과 같이 작성하도록 하자.
변경사항을 반영하기 위해 아파치를 리로드해야한다.
a2ensite example.com.conf
systemctl reload apache2
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
reload를 하려고하면 다음과 같은 오류가 나타날 것이다.
위 안내문에 맞게 systemctl status apache2.service로 확인해보자.
4. proxy 오류 해결하기
Jan 03 10:44:42 kartrider-api systemd[1]: Starting The Apache HTTP Server...
Jan 03 10:44:42 kartrider-api apachectl[24244]: AH00526: Syntax error on line 4 of /etc/apache2/sites-enabled/myrider.ml.conf:
Jan 03 10:44:42 kartrider-api apachectl[24244]: Invalid command 'ProxyRequests', perhaps misspelled or defined by a module not included in the server configuration
Jan 03 10:44:42 kartrider-api apachectl[24244]: Action 'start' failed.
Jan 03 10:44:42 kartrider-api apachectl[24244]: The Apache error log may have more information.
Jan 03 10:44:42 kartrider-api systemd[1]: apache2.service: Control process exited, code=exited status=1
Jan 03 10:44:42 kartrider-api systemd[1]: apache2.service: Failed with result 'exit-code'.
Jan 03 10:44:42 kartrider-api systemd[1]: Failed to start The Apache HTTP Server.
3번째 라인에 proxy 모듈이 적용되어 있지 않다는 내용이 있다.
proxy를 통해 리다이렉팅을 하기 위해서는 proxy와 proxy_http를 활성화시켜야한다.
활성화하는 명령어는 매우 간단한다.
a2enmod proxy
a2enmod proxy_http
systemctl reload apache2
변경사항을 반영하고 서버를 가동시킨 뒤 접속해보자.
성공적으로 접속되었다.
'ubuntu' 카테고리의 다른 글
python venv clone & execute (0) | 2024.04.17 |
---|---|
가상머신을 생성 하고 가장 먼저 해야 할 것 (0) | 2022.06.05 |
ubuntu 가상머신에 node.js 설치하기 (0) | 2022.01.08 |