본문 바로가기

Back-End

리눅스 우분투 웹서버 원격으로 관리하기

728x90

연구실 컴퓨터는 웹서버용이기 때문에 24시간 돌아가야 합니다. 웹서버는 mod wsgi를 아파치에 연동하였고 매일 12시에 금융 데이터를 수집해서 Mysql 데이터베이스에 넣는 프로그램이 돌아가야 하죠. 제가 일을 해야 하기 때문에 연구실에서 계속 있을 순 없어서 원격으로 접속해 관리하고 있었습니다.

 

처음엔 사용자가 몰리지 않는 이상 문제가 없을 거라 생각했지만 예상치 못한 일들이 많이 발생했습니다.

 

1. 데이터베이스 자동 업데이트 시 라이브러리와 API의 사용법이 변경되어 제대로 데이터를 수집하지 못함

 

2. 교내 정전으로 인해  컴퓨터가 아예 꺼짐

 

3. syslog가 쌓이게 되어 memory Full 에러와 함께 컴퓨터가 꺼지는 경우

 

 

1번의 경우 원격으로 접속만 할 수 있다면 무리는 없이 해결할 수 있을 것입니다만, 2번은 직접 사람이 켜야하기 때문에 이 문제는 지인에게 부탁하거나 직접 내려와서 켜야 하기 때문에 어떻게 할 수가 없습니다..

 

3번의 경우를 이번 포스팅에서 자세하게 다루려고 합니다.

 


 

웹서버를 돌리고 한 몇 주가 지나니 syslog가 엄청나게 쌓여 메모리 공간 부족 에러와 함께 컴퓨터가 튕기기 직전임을 발견했습니다. 이대로 꺼져버리면 원격 접속도 못해서 급하게 해결방안을 찾아야 했습니다.

 

우선 syslog를 처리하기 위해서 /var/log/ 에 있는 syslog를 비워보았는데 알 수 없는 에러로 syslog가 급격하게 쌓이고 있었습니다. 이 경우에는 재부팅하는 경우 밖에 답이 없기 때문에 재부팅을 하더라도 다시 원격 접속이 가능하게끔 조치를 취해야 했습니다.

 

다행히도 우분투에 컴퓨터를 재부팅해도 여러 계정 중 특정 계정에 비밀번호 없이 로그인이 되는 기능이 있었습니다.

https://catnip-archive.tistory.com/entry/Ubuntu-Ubuntu-1804-%EB%B6%80%ED%8C%85-%EC%8B%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%83%9D%EB%9E%B5%ED%95%98%EA%B8%B0

 

[Ubuntu] Ubuntu 18.04 부팅 시 로그인 생략하기

안녕하세요. catnip입니다. 오늘은 우분투 부팅 시 로그인(비밀번호 입력화면)을 생략할 수 있는 설정에 대해 알아보려고 합니다. 부팅할 때마다 비밀번호를 입력해줘야 하는 것이 귀찮았는데,

catnip-archive.tistory.com

 

위 방법을 참고하시면 됩니다.

 

문제는 자동 로그인은 됐지만 네트워크 설정을 제가 이상하게 한 탓인지 바로 네트워크가 안잡혀 원격 접속을 못했습니다.

한나절을 연구실에 박혀서 문제를 찾아보니 네트워크 매니저(Network Manager) 문제였습니다.

 

 

네트워크 설정에 들어가서 보면 이더넷 이름이 중복되어 두개로 되어 있는데 둘 중에 하나만 네트워크 연결이 되는 이더넷이었습니다. 하지만 부팅 시에는 연결이 안 되는 이더넷이 잡히다가 제가 다른 걸 선택하면 문제가 있던 이더넷은 감쪽같이 사라지고 인터넷이 됐습니다.

연결이 되는 이더넷을 클릭 시

 

구글에 쳐보니 네트워크 매니저의 버그라면서 해결방안은 네트워크 관련된 파일을 다 지우고 다시 설정하라는 얘기 밖에 없었습니다. 그렇게 해도 해결되지 않는 사람도 있었고 저도 그렇게 하고 싶진 않아서 다른 방법을 찾던 중 그러면 부팅할 때 자동으로 네트워크를 잡아주는 명령 프로그램이 실행되면 되겠다고 생각이 들었습니다.

 

현재 NetworkManager에 등록된 이더넷을 보려면 터미널에 다음 코드를 쳐서 확인할 수 있고

nmcli con show

 

활성화 시키고 싶은 이더넷을 활성화시키는 방법은 다음과 같습니다.

nmcli con up [이더넷이름]

 

부팅이 되자마자 이 명령어가 실행되어야 하기 때문에

 

wireless_connection.sh라는 파일을 만들어 안에 다음 코드를 넣었습니다.

#!/bin/bash
nmcli con up eno1

그리고 저장해서 해당 파일에 퍼미션을 부여해주었습니다.

chmod 755 wireless_connection.sh

그리고 우분투에 있는 시작 프로그램이라는 프로그램을 실행시켜 wireless_connection.sh를 등록해주었습니다.

 

 

이랬더니 정상적이게 부팅하면 네트워크 설정까지 되어 원격 접속을 할 수 있게 되어 정석은 아니지만 얼추 해결하게 되었습니다.ㅎㅎ 끗