-
[aws-ec2-linux2] node설치하기AWS/EC2 2021. 7. 8. 08:53728x90
apt-get은 우분투 명령어임.
aws-linux에서는 yum을 사용.
sudo yum update
리눅스 처음 시작하자마자 업데이트해주고
sudo yum install -y gcc-c++ make curl -sL https://rpm.nodesource.com/setup_16.x | sudo -E bash - //최신버전 릴리즈
$ sudo yum install -y gcc-c++ make $ curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash - //안정적인 버전 릴리즈
둘중에 나는 안정적인 버전 릴리즈를 통해 설치함.
위에 명령어를 실행시키고 나면 sudo yum install -y nodejs 를 입력하라는 메세지가 나온다 $ sudo yum install -y nodejs
node -v 명령어를 통해 노드 설치 확인
home/app/TravelAlbum이라는 폴더를 만들고
mkdir TravelAlbum cd TravelAlbum
express-generator expree를 전역으로 설치
sudo npm install -g express-generator //꼭 sudo 명령어를 사용할것!! express --version 명령어로 설치 확인
cd TravelAlbum폴더로 이동후 express server 실행하면 `server`라는 폴더를 가지는 express 프로젝트 생성
cd server server폴더 이동후에 npm install 프로젝트 셋팅시키기
----vue를 설치하자
(x) sudo npm install vue-cli -g (x) vue-cli를 전역으로 설치한다. 인터넷보고 저렇게 설치 했더니 vue가 2.9버전이 깔린다...;; 나는Vue3버전을 설치하고 싶다. sudo npm install -g @vue/cli vue create client https://simplevue.gitbook.io/intro/01.-vue-cli 위사이트 참고함
파일zila에 인스턴스 연결할려고 하니까 계속 이런 오류가 뜸
FATAL ERROR: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
.pem파일을 다른 인스턴스꺼 쓰고 있어서 저런 에러뜸 .... 해결함.
지금까지 만든걸 종합하면
앞으로 만들 폴더구성 TravelAlbum --server node.js - express.js로 서버단 구성 --clinet vue.js - vue로 프론트단 구성
이렇게 되있을거고 이제 express와 vue를 연동해보자
vue.config.js파일을 만들어서
module.exports = { devServer: { //① api 요청이 있을때 어디에서 처리할지를 설정 proxy: { '/api': { target: 'http://localhost:3000/api', changeOrigin: true, pathRewrite: { '^/api': '' } } } }, outputDir: '../server/public', //② 배포 파일의 위치를 지정 }
이렇게 추가한후에,
npm run build //이렇게 하면 server/public에 build파일이 생기는듯?
server쪽으로가서 npm start해보면 vue가 3000포트로 실행된다!.
server] $ npm start 서버명:3000으로 접속하면 vue페이지가 보임!
--- mysql을 설치한다.
https://techviewleo.com/how-to-install-mysql-8-on-amazon-linux-2/
이글을 참고해서 aws ec2 linux2에 mysql8버전을 설치해본다!!!
쭉 따라하다가 임시비밀번호를 log에서 찾고 그걸로 접속 한다음에 루트 비밀번호 바꾸는 과정에서
sudo grep 'temporary password' /var/log/mysqld.log 비밀번호가 뭐라뭐라 나올거고 그게 root@localhost: BEw-U?DV,7eO 뒤에 BEw-U?DV,7eO이게 비밀번호고 $ sudo mysql_secure_installation -p'BEw-U?DV,7eO' 하면 새 비밀번호 입력하라고 나옴 위에 임시비밀번호처럼 어렵게 해야 됨 ㅠ
heidisql에서 접속할려고하니
//에러발생 Host is not allowed to connect to this MYSQL server
mysql8에서 보안이 더 빡세져서 그런것 같다.
리눅스에서 mysql에 접속한다음에 use mysql을하고
select host, user from user;하면 접속하는 host가 로컬만 허용되게끔 되어있다. 이걸 꼭 접속할려는 pc에서도 허용되게 해주자.
grant all privileges on *.* to 'root또는 원하는계정'@'본인IP'; //변경사항 적용 flush privileges;
권한 줄려니까 ERROR 1410 (42000): You are not allowed to create a user with GRANT 이딴오류 발생
mysql> create user 'admin'@'%' IDENTIFIED BY 'admin'; mysql> grant all privileges ON *.* TO 'admin'@'%' with grant option; //이유 자체가 완전 처음 만들어진 root계정에 외부접속을 허용해주게 못하는것 같다 mysql8에서 //그래서 새로 admin이라는 계정을 만들어서 거기에 루트 권한을 주고 외부접속 허용하게 만들어서 // 개발 끝나고 mysql> revoke all on *.* from admin@'%'; mysql> flush privileges; 이렇게 해줘서 권한 외부접속 막아야겠다.
그런다음 ssh말고 그냥 일반접속으로 aws ec2 아이피주소 넣고 admin 비밀번호 쳐서 접속하면 성공!
vscode를 ec2에 ssh로 연결할때
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
이런오류가 뜨는데 이거 해결할려면
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys이렇게 주면 됨
https://medium.com/@christyjacob4/using-vscode-remotely-on-an-ec2-instance-7822c4032cff
728x90'AWS > EC2' 카테고리의 다른 글
EC2에서 AWS RDS에 접속 하는 방법 (0) 2023.08.13 [aws-ec2] git이랑 연동하기 (0) 2021.07.09 EC2 express.js + vue.js 참고 사이트 (0) 2021.07.06 [로컬 - github - ec2 개발환경 구축하기] 3. ec2에 자바 설치 후 github연동하기 (0) 2021.04.23 [로컬 - github - ec2 개발환경 구축하기] 2. 로컬 sts와 github 연동하기 (0) 2021.04.23