EC2를 사용해서 서버 배포중에 이미지 저장 경로를 ec2내의 폴더로 정하고 파일을 업로드 하려는데 nginx 로컬에서는 잘 되던 이미지 저장이 안된다..
{
"status": 500,
"data": "java.io.FileNotFoundException: /var/www/images/jpg/2746ee22-f2da-4359-a72f-08d5ee1aa90a.jpg (Permission denied)"
}
Permission denied..
현재 권한이 root로 되어있는 이미지 저장 경로를 www-data로 바꿔주었다.
sudo chown www-data:www-data /var/www/images/
sudo chmod 775 /var/www/images/
뿐만아니라 상위폴더인 /var/까지도 위의 과정을 해주었다.
결과는..?
계속 똑같은 Permission denied 에러가 뜬다..
groups ubuntu
ubuntu : ubuntu adm cdrom sudo dip lxd
여기서 www-data가 안보이는 것으로 보아 ubuntu 사용자가 www-data 그룹이 인원이 아닌 것을 알 수 있다.
sudo usermod -a -G www-data ubuntu
--> 로그아웃 후 재로그인
groups ubuntu
이제 www-data가 들어가있는것을 확인할 수 있다.
자바 서버 실행도 www-data 사용자 권한을 명시하여 실행한다.
sudo -u www-data java -jar /var/www/time/time-0.0.1-SNAPSHOT.jar
해결!