@조명근-goorm
읽어보고 혼자 시도해봤지만 해결을 못해 다시 적어봅니다.
질문에 적힌 링크들은 참고했던 사이트들입니다.
우선 차근차근 해결해 나가려고 mysql 실행부터 도전해봤습니다.
1.mysql
답변주신 내용과
http://forum.goorm.io/topic/7724/mysql-서버-시작시-쿼리-처리-속도가-느립니다/5
위 질문에서 나온 답변을 참고하여 자동 실행 스크립트 부분에 service mysql start 를 적어뒀습니다.
다음으론 대시보드에 접속을 하고 JSP프로젝트를 실행하여 로그인 기능을 테스트했습니다.(직접 실행)
그런데 데이터베이스 오류가 뜹니다.
직접 mysql을 실행한 경우(대시보드 접속->터미널에 service mysql start 입력->로그인 기능 성공) 는 되는걸로 봐서는 제가 자동 실행 스크립트 부분을 잘못 작성한것 같은데 service mysql start가 아닌 어떤 명령어를 작성해야 합니까. .
2.백그라운드 실행
https://help.goorm.io/ko/goormide/02.project/command 를 읽어보고 customJSP라는 실행 파일을 만들었습니다.(기본으로 적힌 그대로 저장하고 이름만 바꿨습니다)
https://help.goorm.io/ko/goormide/18.faq/language-and-environment/always-on-not-work 에서 nohup<절대경로> &라고 적힌게 있어 절대 경로 또한 복사했습니다.(/workspace/MyProject/customJSP)
그리곤 모든 컨테이너 정보가 있는 곳에서 원하는 컨테이너 설정을 항상 켜두기를 켜뒀습니다. 그리고 터미널에서
nohup /workspace/MyProject/customJSP & 라고 입력하니
root@goorm:/workspace/MyProject# nohup: 입력 무시 및 nohup.out' 에 출력 추가 nohup: failed to run command/workspace/MyProject/customJSP': 그런 파일이나 디렉터리가 없습니다
라는 오류가 뜹니다
어떤식으로 실행파일에 접근해서 nohup 명령어를 실행해야 하는지 알려주셨으면 좋겠습니다.
rename 함수 첫번째 인자에서 id 값을 사용하고 있는 것으로 보이는데, 콘솔에 찍힌 post 객체를 보면 id 값이 포함되어 있지 않은 것으로 보입니다.
ERR_EMPTY_RESPONSE 에러는 (첨부해주신 코드만 봤을 때는) 클라이언트 쪽으로 response 보내는 부분이 없어서 발생한 게 아닐까요?
container1에서 다음과 같은 단계를 진행합니다.
/etc/mysql/mysql.conf.d/mysqld.cnf 파일을 열고 (vim 에디터 등 사용) bind-address = 127.0.0.1 부분 앞에 #을 붙여서 #bind-address = 127.0.0.1이 되도록 수정하여 주석처리 해줍니다. (원격접속이 가능하게 하기 위해, LISTEN IP 대역을 로컬호스트로 제한하고 있는 설정을 주석처리)
터미널에 service mysql restart 명령을 실행하여 mysql 재시작
mysql shell에 접속하여 GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'password'; 쿼리를 실행해줍니다. ('password' 부분은 원격접속 시 사용할 패스워드로 적절하게 변경)
FLUSH PRIVILEGES; 쿼리를 실행해줍니다.
구름IDE 상단메뉴 [컨테이너] - [포트포워딩 설정]에서 유형 MySQL 선택 후 [등록]을 눌러 포트를 열어줍니다.
등록 후에 [IP]와 [외부 포트]를 확인해둡니다. (container2에서 container1의 mysql로 접속 시 사용할 정보)
conatainer2에서 다음과 같은 단계를 진행합니다.
터미널에 mysql -h[IP] -P[외부 포트] -p[password] 명령을 실행하여 정상적으로 접속이 되는지 확인합니다. 예를 들면 mysql -h3.34.1.253 -P59891 -ppassword와 같은 형식의 명령입니다.