Skip to content

Instantly share code, notes, and snippets.

@ksundong
Last active June 2, 2020 08:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ksundong/105b607541d9a1e9a48a950f54b65c6a to your computer and use it in GitHub Desktop.
Save ksundong/105b607541d9a1e9a48a950f54b65c6a to your computer and use it in GitHub Desktop.
우분투 서버 세팅하기(NginX, MySQL 5.7, Java8, Tomcat 9.0.34, Node JS)

설치되면 기본으로 할 것

sudo apt update
sudo apt upgrade -y
vi .bashrc
---
# 환경변수 설정
---
source .bashrc
vi .ssh/authorized_keys
---
# ssh public key 등록
---

깃 리포지토리 클론

git clone private-repository
git clone https://github.com/codesquad-member-2020/sidedish-03.git
wget http://mirror.navercorp.com/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz

배포 환경 다운로드

tar -xvzf apache-tomcat-9.0.34.tar.gz
rm -rf apache-tomcat-9.0.34.tar.gz
sudo apt install nginx -y
sudo apt install mysql-server -y
sudo apt install openjdk-8-jdk -y
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash --
sudo apt install -y nodejs

12 버전의 경우 setup_12.x로 등록

NginX 설정

sudo vi /etc/nginx/sites-available/default
---
location /api/ {
        rewrite ^/api(/.*)$ $1 break; # url에서 api 뒤에 있는 URL을 전부 그대로 사용.
        # ip/api/blahblah로 들어온 요청은 ip/blahblah로 Spring에 전달됩니다.
        proxy_pass http://localhost:8080;
        add_header "Access-Control-Allow-Origin"  *;
		add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD, PUT, DELETE";
		add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
}
---
sudo service nginx restart

MySQL 설정

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
---
[client]
default-character-set = utf8mb4

[mysqld]
init_connect = SET collation_connection = utf8mb4_unicode_ci
init_connect = SET NAMES utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default_time_zone='+09:00'

[mysqldump]
default-character-set = utf8mb4

~~~
bind-address = 0.0.0.0
---
sudo service mysql restart
sudo mysql -u root
---
mysql> 
use mysql;
create database sidedish;
create user '아이디'@'ip대역' identified by '비밀번호';
grant all privileges on DBname.* to '아이디'@'ip대역';
flush privileges;
quit
Bye
---
# Data 넣기
---

Gradle Build

cd sidedish-03/BE
./gradlew build -x test
# 3분 30초 정도 걸린다
cp -rf build/libs/ROOT.war ~/apache-tomcat-9.0.34/webapps/
rm -rf ~/apache-tomcat-9.0.34/webapps/ROOT

톰캣 실행

cd ~/apache-tomcat-9.0.34/
bin/startup.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment