최근 DB를 배우면서.. 집이 아닌 외부에서 DB서버가 돌아갈 필요성을 느꼈다. 그래야 내가 여기저기서 접속할 수 있을테니. 하지만 이 분야에는 까막눈.. 회사를 차리는 것도 아니니.. 최대한 무료로 클라우드에서 가상 서버를 돌리고, 그 위에서 DB서버를 돌려서 외부에서 접속할 수 있는 환경을 만들어 보고자 한다. 물론 나중에는 여기서 이것저것 더 추가되겠지? 나 같은 까막눈을 위해서 발자취를 남겨본다.
> 아니.. 무료로 뭐 좀 할라고 했더니.. 애초 회원가입부터 막히네.. 하.. 시간 아까워서 그냥 무료가 아닌 '소액'으로 목표 변경!
이제 공짜로 얻은 오라클 서버에 nginx와 php를 깔아보도록 하자. 뭐 대충 nginx는 웹서버로, 웹으로 들어오는 연결을 내부의 여러 프로그램(?)에 전달해주는 것 같고, php는 웹 페이지의 내용을 출력하기 위한 프로그래밍? 정도 인 듯? 내가 이해한 정도. 아.. 몰라 쓰다보면 개념이 잡히것지.
오늘 오라클 클라우드에 들어가보니 어제 terminate했던 친구는 사라졌군.. 잘가.. 아 그런데.. 물산이 갑자기 3조 자사주를 소각한다라고?? 후.. 적어도 15% 상승해야겠지? 상승정도보고 매수해야하나?
oracle에서 db 돌리면서 다음의 명령으로 방화벽을 열어줘야 외부접속이 가능했다.
sudo iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
그런데.. 지금 돌리는 서버는 가상서버로.. 오라클에서 포트 관리를 하고 있음. 따라서 내부 포트를 모두 열어젖히는 것으로.
sudo iptables-save > ~/iptables-rules
sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -F
sudo iptables --flush
제일 첫번째 줄은 뭐하는건지는 잘 모르겠음.. -_-;;
타임존도 서울로 설정
sudo dpkg-reconfigure tzdata
언어설정
sudo apt-get install language-pack-ko
sudo vi /etc/default/locale
>> 파일 안에서 LANG=ko_KR.UTF-8
NGINX 설치
여러 블로그를 따라서 설치를 시작해보자. 대략 다음의 과정으로 설치함.
sudo apt update
sudo apt upgrade
sudo apt install nginx
sudo service nginx start
설치 후 확인.
80포트를 열심히 듣고 있는 nginx. 좋아. 이 후 웹으로 ip 주소를 넣고 접속했으나 실패..
아.. 오라클에서 포트를 추가로 열어야 하나보다. 열고오자. 오.. 바로 된다.
PHP설치
sudo apt list | grep fpm
으로 설치 가능한 php-fpm 버전 확인 후
sudo apt install php8.1-fpm
잘 설치됨.
NGINX와 PHP 연동
vi /etc/nginx/sites-available/default
에서 다음을 수정
# 아래에서 주석처리를 해제함.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
아래에 다시
index.php도 적절히 삽입해준다.
nginx reload. 으로 설정을 새로 읽어줌.
이제 제대로 동작하는지 확인.
sudo vi /var/www/html/index.php
하여 파일을 생성 후
<?php phpinfo(); ?>
저장 후 홈페이지 재접속
serverIP/index.php
왜 안 되지..
아.. 해결함.. 위에서 php-fpm의 버전이 다르기 때문에 설치한 php에 맞게 설정해야 함.
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
>>
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
이렇게 변경!
드디어 되는구나! 아자아자!