μμ
1.
νμκ°μ
& λ‘κ·ΈμΈ
2.
μλΉμ€ μ μ²
a.
μλ²νΈμ€ν
i.
κ°μμλ²νΈμ€ν
1.
μ΄μ체μ (리λ
μ€/μλμ°)
2.
μκΈμ
μκΈ λ΄μ©
3.
κ²°μ
4.
OS μ€μΉ μ€
5.
μ€μΉ μλ£
3.
κ°λ° νκ²½
a.
SSH μ μ
i.
VSCODE μ€ν
ii.
Remote Development νμ₯ μ€μΉ
iii.
SSH μ μ
b.
μ€μΉ
i.
Node μ€μΉ
ii.
Nginx μ€μΉ
iii.
JDK μ€μΉ
iv.
MySQL μ€μΉ
4.
λΉλ (Build)
a.
Spring νλ‘μ νΈ λΉλ
b.
React νλ‘μ νΈ λΉλ
5.
λ°°ν¬ (Deploy)
a.
Spring νλ‘μ νΈ λ°°ν¬
b.
React νλ‘μ νΈ λ°°ν¬
6.
μ€ν (Execution)
a.
λ°±μλ μ€ν
b.
νλ‘ νΈ μ€ν
7.
λλ©μΈ λ±λ‘
a.
λλ©μΈ ꡬ맀νκΈ°
b.
μ°κ²°νκΈ°
c.
Nginx μ€μ
d.
SSL
8.
μ¬μ΄νΈ μ μ
νμκ°μ & λ‘κ·ΈμΈ
μλΉμ€ μ μ²
κ°μμλ²νΈμ€ν
1.
μ΄μ체μ (리λ
μ€/μλμ°)
2.
μκΈμ
a.
μΌλ°ν 5,000μ
b.
λΉμ¦λμ€ 11,000μ
c.
νΌμ€νΈν΄λμ€ 16,500μ
d.
μμ΄μΈνΈ 33,000μ
e.
μμ΄μΈνΈνλ¬μ€ 55,000μ
3.
μ κ· μμ΄λ λ±λ‘
4.
κ²°μ
μ΄μ체μ (리λ μ€/μλμ°) & μκΈμ
μ κ· μμ΄λ λ±λ‘
κ²°μ
OS μ€μΉ μ€
μ€μΉ μλ£
κ°λ° νκ²½
1.
SSH μ μ
a.
VSCODE μ€ν
b.
Remote Development νμ₯ μ€μΉ
c.
SSH μ μ
2.
μ€μΉ
a.
Node μ€μΉ
b.
Nginx μ€μΉ
c.
JDK μ€μΉ
d.
MySQL μ€μΉ
SSH μ μ
1.
VSCODE μ€ν
2.
Remote Development νμ₯ μ€μΉ
3.
SSH μ μ
VSCODE μ€ν
Remote Development νμ₯ μ€μΉ
SSH μ μ
1.
μ격 SSH
2.
μ μ μ 보 μ
λ ₯
3.
μνΈ μ
λ ₯
4.
ν΄λ μ΄κΈ°
5.
κ²½λ‘ μ§μ
6.
μ격 μ°κ²° λ«κΈ°
β’
μ격 SSH
β’
μ μ μ 보 μ
λ ₯
Host | XXX | "λ³μΉ(alias)" μν μ νλ μλ³μ |
HostName | XXX.cafe24.com | IP λλ λν λλ©μΈ |
User | root | μλΉμ€ μ μ² μ μ§μ ν κ΄λ¦¬μ (κΈ°λ³Έ : root) |
β’
μνΈ μ
λ ₯
μλΉμ€ μ μ² μ μ§μ ν κ΄λ¦¬μ λΉλ°λ²νΈ
β’
ν΄λ μ΄κΈ°
β’
κ²½λ‘ μ§μ
β’
μ격 μ°κ²° λ«κΈ° (λμ€μ μ’
λ£ νμ μ μ°Έκ³ )
μ€μΉ
1.
Node μ€μΉ
2.
Nginx μ€μΉ
3.
JDK μ€μΉ
4.
MySQL μ€μΉ
β’
Ubuntu 22.04 (LTS)
β’
μ΅μ Node.js
β’
μ΅μ Nginx
β’
JDK 17
β’
MySQL 8
β’
ν°λ―Έλ μ΄κΈ°
1. Node.js (μ΅μ LTS κΆμ₯)
# Node.js μ€μΉ
sudo apt-get install -y nodejs
# npm μ€μΉ
sudo apt install npm
# λ²μ νμΈ
node -v
npm -v
Bash
볡μ¬
Node.js μ€μΉ
sudo apt-get install -y nodejs
Bash
볡μ¬
npm μ€μΉ
sudo apt install npm
Bash
볡μ¬
λ²μ νμΈ
node -v
Bash
볡μ¬
npm -v
Bash
볡μ¬
2. Nginx (μ΅μ )
# μ μ₯μ μ
λ°μ΄νΈ
sudo apt update
# Nginx μ€μΉ
sudo apt install -y nginx
# μλΉμ€ μ€ν λ° λΆν
μ μλ μμ
sudo systemctl enable nginx
sudo systemctl start nginx
# μν νμΈ
systemctl status nginx
Bash
볡μ¬
μ μ₯μ μ λ°μ΄νΈ
sudo apt update
Bash
볡μ¬
Nginx μ€μΉ
sudo apt install -y nginx
Bash
볡μ¬
μλΉμ€ μ€ν λ° λΆν μ μλ μμ
sudo systemctl enable nginx
Bash
볡μ¬
sudo systemctl start nginx
Bash
볡μ¬
μν νμΈ
systemctl status nginx
Bash
볡μ¬
3. JDK 17 (OpenJDK)
# OpenJDK 17 μ€μΉ
sudo apt install -y openjdk-17-jdk
# λ²μ νμΈ
java -version
Bash
볡μ¬
OpenJDK 17 μ€μΉ
sudo apt install -y openjdk-17-jdk
Bash
볡μ¬
λ²μ νμΈ
java -version
Bash
볡μ¬
4. MySQL 8
# μ μ₯μ μ
λ°μ΄νΈ
sudo apt update
# MySQL μ€μΉ
sudo apt install -y mysql-server
# 보μ μ€μ (root λΉλ°λ²νΈ, μ격μ μ λ±)
sudo mysql_secure_installation
# μλΉμ€ μ€ν λ° λΆν
μ μλ μμ
sudo systemctl enable mysql
sudo systemctl start mysql
# μν νμΈ
systemctl status mysql
Bash
볡μ¬
μ μ₯μ μ λ°μ΄νΈ
sudo apt update
Bash
볡μ¬
MySQL μ€μΉ
sudo apt install -y mysql-server
Bash
볡μ¬
보μ μ€μ (root λΉλ°λ²νΈ, μ격μ μ λ±)
sudo mysql_secure_installation
Bash
볡μ¬
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
MySQL μλ² λ³΄μ μ€μ μ€μ
λλ€.
λΉλ°λ²νΈ μμ΄ MySQLμ μ μ μ€μ
λλ€.
VALIDATE PASSWORD COMPONENTλ λΉλ°λ²νΈλ₯Ό κ²μ¬νκ³ λ³΄μμ κ°ννλ λ° μ¬μ©ν μ μμ΅λλ€.
μ΄ μ»΄ν¬λνΈλ λΉλ°λ²νΈ κ°λλ₯Ό νμΈνλ©°, μΆ©λΆν μμ ν λΉλ°λ²νΈλ§ μ€μ ν μ μλλ‘ νμ©ν©λλ€.
y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
λΉλ°λ²νΈ κ²μ¦ μ μ±
μλ μΈ κ°μ§ μμ€μ΄ μμ΅λλ€:
β’
LOW : κΈΈμ΄ β₯ 8
β’
MEDIUM : κΈΈμ΄ β₯ 8, μ«μ ν¬ν¨, λ/μλ¬Έμ νΌν©, νΉμ λ¬Έμ ν¬ν¨
β’
STRONG : κΈΈμ΄ β₯ 8, μ«μ ν¬ν¨, λ/μλ¬Έμ νΌν©, νΉμ λ¬Έμ ν¬ν¨, μ¬μ νμΌ κ²μ¬
0
Skipping password set for root as authentication with auth_socket is used by default.
If you would like to use password authentication instead, this can be done with the "ALTER_USER" command.
See https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management for more information.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
κΈ°λ³Έμ μΌλ‘ auth_socket μΈμ¦μ΄ μ¬μ©λλ―λ‘ root λΉλ°λ²νΈ μ€μ μ 건λλλλ€.
λΉλ°λ²νΈ μΈμ¦μ μ¬μ©νλ €λ©΄ "ALTER_USER" λͺ
λ Ήμ΄λ‘ λ³κ²½ν μ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ MySQL μ€μΉ μ μ΅λͺ
μ¬μ©μ(anonymous user) κ° ν¬ν¨λμ΄ μμ΅λλ€.
μ΄ κ³μ μ μ¬μ©νλ©΄ κ³μ μ λ°λ‘ λ§λ€μ§ μμλ λꡬλ MySQLμ λ‘κ·ΈμΈν μ μμ΅λλ€.
μ΄ μ€μ μ λ¨μν ν
μ€νΈ λͺ©μ κ³Ό μ€μΉ νΈμλ₯Ό μν΄ μ‘΄μ¬ν©λλ€.
n
auth_socket νλ¬κ·ΈμΈ μ΄λ?
MySQL 8μμ κΈ°λ³ΈμΌλ‘ μ μ©λλ μΈμ¦ λ°©μ μ€ νλμ
λλ€.
β’
μ΄λ¦ κ·Έλλ‘ λ¦¬λ
μ€/μ λμ€ μμΌ μΈμ¦μ μ¬μ©ν©λλ€.
β’
μ¦, MySQL λ΄λΆ κ³μ λΉλ°λ²νΈλ₯Ό λ°λ‘ μ°λ κ² μλλΌ,
μ΄μ체μ (OS)μ λ‘κ·ΈμΈ μ¬μ©μ κ³μ μ νμΈν΄μ μΈμ¦ν©λλ€.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely?
λ³΄ν΅ root κ³μ μ 'localhost'μμλ§ μ μ κ°λ₯νλλ‘ μ€μ νλ κ²μ΄ μ’μ΅λλ€.
μ΄λ κ² ν΄μΌ λ€νΈμν¬λ₯Ό ν΅ν΄ λκ΅°κ°κ° root λΉλ°λ²νΈλ₯Ό μΆμΈ‘νλ κ²μ λ°©μ§ν μ μμ΅λλ€.
n
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it?
κΈ°λ³Έμ μΌλ‘ MySQLμλ **'test'**λΌλ λ°μ΄ν°λ² μ΄μ€κ° ν¬ν¨λμ΄ μμΌλ©°, λꡬλ μ κ·Όν μ μμ΅λλ€.
μ΄ μμ ν
μ€νΈ μ©λλ‘λ§ μ 곡λλ―λ‘, μ΄μ νκ²½μΌλ‘ μ΄μ νκΈ° μ μ μμ νλ κ²μ΄ μ’μ΅λλ€.
n
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now?
κΆν ν
μ΄λΈμ λ€μ λ‘λνλ©΄ μ§κΈκΉμ§ μ μ©ν λͺ¨λ λ³κ²½ μ¬νμ΄ μ¦μ λ°μλ©λλ€.
y
Success. All done!
μ±κ³΅νμ΅λλ€.
λͺ¨λ μμ
μ΄ μλ£λμμ΅λλ€!
μλΉμ€ μ€ν λ° λΆν μ μλ μμ
sudo systemctl enable mysql
Bash
볡μ¬
sudo systemctl start mysql
Bash
볡μ¬
μν νμΈ
systemctl status mysql
Bash
볡μ¬
κΈ°λ³Έ κ³μ μμ±
username | user |
password | 12345678 |
β’
root κ³μ μ μ
mysql -u root -p
Bash
볡μ¬
β’
auth_socket λ°©μμΌλ‘ μν°λ§ λλ₯΄κ³ ν¨μ€
[μν°]
Bash
볡μ¬
β’
κ³μ μ‘°ν
SELECT user, host FROM mysql.user;
Bash
볡μ¬
β’
κ³μ μμ±
CREATE USER 'user'@'%' IDENTIFIED BY '12345678';
Bash
볡μ¬
β’
κΆν λΆμ¬
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
Bash
볡μ¬
β’
κΆν μ μ©
FLUSH PRIVILEGES;
Bash
볡μ¬
β’
MySQL μ μ μ’
λ£
Ctrl + Z
β’
κ³μ μ μ
mysql -u user -p
Bash
볡μ¬
κΈ°λ³Έ λ°μ΄ν°λ² μ΄μ€ μμ±
β’
λ°μ΄ν°λ² μ΄μ€(μ€ν€λ§) μμ± : krules
CREATE DATABASE krules
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
SQL
볡μ¬
β’
λ°μ΄ν°λ² μ΄μ€ νμΈ
SHOW DATABASES;
SQL
볡μ¬
μ΅μ’
λ²μ νμΈ λͺ
λ Ήμ΄:
Node.js λ²μ νμΈ
node -v
Bash
볡μ¬
NPM λ²μ νμΈ
npm -v
Bash
볡μ¬
Nginx λ²μ νμΈ
nginx -v
Bash
볡μ¬
Java λ²μ νμΈ
java -version
Bash
볡μ¬
MySQL λ²μ νμΈ
mysql --version
Bash
볡μ¬
λΉλ (Build)
1.
Spring νλ‘μ νΈ λΉλ
2.
React νλ‘μ νΈ λΉλ
Spring νλ‘μ νΈ λΉλ
1.
Gradle for Java νμ₯ μ€μΉ
2.
Build - bootWar
Gradle for Java νμ₯ μ€μΉ
Build - bootWar
./gradlew bootWar
Bash
볡μ¬
λλ Gradleμ΄ μ μμ μΌλ‘ μ€μΉλμ΄ μλ€λ©΄:
gradle bootWar
Bash
볡μ¬
κΆμ₯ : Gradle for Java νμ₯ GUI κΈ°λ₯ μ΄μ©νμ¬ λΉλ
React νλ‘μ νΈ λΉλ
npm run build
Bash
볡μ¬
λ°°ν¬ (Deploy)
1.
React νλ‘μ νΈ λ°°ν¬
2.
Spring νλ‘μ νΈ λ°°ν¬
π¦ /k-rules
β£ π front
β β£ π build (dist)
β β β£ π assets
β β β π index.html
β β π deploy
β β£ π assets
β β π index.html
β π back
β£ π build
β β π APP.war
β π deploy
β π APP.war
Plain Text
볡μ¬
Spring νλ‘μ νΈ λ°°ν¬
1.
λλ ν 리 ꡬ쑰 μμ±
2.
μλ λ°°ν¬ (νμΌ λ³΅μ¬)
λλ ν 리 ꡬ쑰 μμ±
μλ λ°°ν¬ (νμΌ λ³΅μ¬)
React νλ‘μ νΈ λ°°ν¬
1.
λλ ν 리 ꡬ쑰 μμ±
2.
μλ λ°°ν¬ (νμΌ λ³΅μ¬)
β’
κΆν λ³κ²½
sudo chmod -R 755 k-rules/front/deploy
Bash
볡μ¬
μ€ν (Execution)
1.
λ°±μλ μ€ν
2.
νλ‘ νΈ μ€ν
λ°±μλ μ€ν
1.
μ€ν¬λ¦½νΈ μμ±
a.
μλ² μ€ν μ€ν¬λ¦½νΈ μμ±
i.
start.sh
b.
μλ² μ’
λ£ μ€ν¬λ¦½νΈ μμ±
i.
stop.sh
2.
μλ² μ€ν
3.
μλ² μ’
λ£
μ€ν¬λ¦½νΈ μμ±
μλ² μ€ν μ€ν¬λ¦½νΈ μμ±
β’
start.sh
#!/bin/bash
# νμ¬ μ€ν¬λ¦½νΈκ° μμΉν κ²½λ‘λ‘ μ΄λ
cd "$(dirname "$0")"
# λ‘κ·Έ λλ ν 리 μμ±
LOG_DIR="../log"
mkdir -p "$LOG_DIR"
LOG_FILE="$LOG_DIR/appwar_$(date +%Y%m%d_%H%M%S).log"
# JAVA_HOMEμ΄ μ€μ λμ΄ μμ§ μμΌλ©΄ java λͺ
λ Ήμ΄ μ¬μ©
JAVA_CMD=${JAVA_HOME:-}/bin/java
if [ ! -x "$JAVA_CMD" ]; then
JAVA_CMD=java
fi
# APP.war νμΌμ λ°±κ·ΈλΌμ΄λμμ μ€ννκ³ λ‘κ·Έ μ μ₯
$JAVA_CMD -jar APP.war > "$LOG_FILE" 2>&1 &
Shell
볡μ¬
β’
κΆν λΆμ¬
chmod +x start.sh
Bash
볡μ¬
μλ² μ’ λ£ μ€ν¬λ¦½νΈ μμ±
β’
stop.sh
#!/bin/bash
# APP.war νλ‘μΈμ€ μ’
λ£ μ€ν¬λ¦½νΈ
# μ€ν μ€μΈ java -jar APP.war νλ‘μΈμ€ μ’
λ£
PIDS=$(ps -ef | grep '[j]ava.*APP.war' | awk '{print $2}')
if [ -z "$PIDS" ]; then
echo "μ€ν μ€μΈ APP.war νλ‘μΈμ€κ° μμ΅λλ€."
exit 0
fi
for PID in $PIDS; do
echo "APP.war νλ‘μΈμ€ μ’
λ£: $PID"
kill $PID
sleep 1
if ps -p $PID > /dev/null; then
echo "κ°μ μ’
λ£: $PID"
kill -9 $PID
fi
echo "μ’
λ£ μλ£: $PID"
sleep 1
done
echo "λͺ¨λ APP.war νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€."
Shell
볡μ¬
β’
κΆν λΆμ¬
chmod +x stop.sh
Bash
볡μ¬
μλ² μ€ν
./start.sh
Bash
볡μ¬
β’
μ€ν νμΈ
μλ² μ’ λ£
./stop.sh
Bash
볡μ¬
νλ‘ νΈ μ€ν
1.
Nginx μλ² λΈλ‘ μ€μ
2.
Nginx νμ±ν
3.
SSL μ μ©
Nginx μλ² λΈλ‘ μ€μ
sudo nano /etc/nginx/sites-available/k-rules.conf
Bash
볡μ¬
β’
k-rules.conf
server {
listen 80;
server_name alohaserver.cafe24.com;
root /k-rules/front/deploy;
index index.html;
# favicon μ²λ¦¬
location = /favicon.ico {
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.html;
}
# Spring API 리λ²μ€ νλ‘μ (λ°±μλκ° 8080 ν¬νΈλΌλ©΄)
location /api/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
JSON
볡μ¬
β’
μ μ₯
Ctrl + S
β’
μ’
λ£
Ctrl + X
Nginx νμ±ν
β’
κΈ°μ‘΄ νμΌ μμΌλ©΄ μ κ±°
sudo rm /etc/nginx/sites-enabled/k-rules.conf
Bash
볡μ¬
β’
μ¬λ³Όλ¦ λ§ν¬ μμ±
sudo ln -s /etc/nginx/sites-available/k-rules.conf /etc/nginx/sites-enabled/
Bash
볡μ¬
β’
μ€μ ν
μ€νΈ
sudo nginx -t
Bash
볡μ¬
β’
κΆν λ³κ²½
sudo chmod -R 755 k-rules/front/deploy
Bash
볡μ¬
β’
μλΉμ€ μ¬μμ
sudo systemctl restart nginx
Bash
볡μ¬
β’
λ‘κ·Έ νμΈ
β¦
μ€νλ‘κ·Έ
sudo tail -f /var/log/nginx/access.log
Bash
볡μ¬
β¦
μλ¬λ‘κ·Έ
sudo tail -f /var/log/nginx/error.log
Bash
볡μ¬
SSL μ μ©
1.
Certbot μ€μΉ (λ¬΄λ£ SSL, Let's Encrypt)
2.
SSL μΈμ¦μ λ°κΈ
3.
μλ κ°±μ νμΈ
β’
Certbot μ€μΉ (λ¬΄λ£ SSL, Let's Encrypt)
sudo apt install certbot python3-certbot-nginx -y
Bash
볡μ¬
β’
SSL μΈμ¦μ λ°κΈ
sudo certbot --nginx -d alohaserver.cafe24.com
Bash
볡μ¬
β’
μλ κ°±μ νμΈ
sudo systemctl status certbot.timer
Bash
볡μ¬
λλ©μΈ λ±λ‘
1.
λλ©μΈ ꡬ맀νκΈ°
2.
μ°κ²°νκΈ°
3.
Nginx μ€μ
4.
SSL
λλ©μΈ ꡬ맀νκΈ°
μΉ΄ν24 μλΉμ€ μ¬μ© μ, μΉ΄ν24 μμ λλ©μΈμ ꡬ맀νλ©΄ μλμΌλ‘ μ°κ²°ν΄μ£Όλ μλΉμ€κ° μμ΄μ μΉ΄ν24μμ ꡬ맀νλ κ²μ κΆμ₯ν©λλ€.
μ°κ²°νκΈ°
1.
μΉ΄ν24 νΈμ€ν
μΌν°
2.
λμ μλΉμ€ κ΄λ¦¬
3.
λλ©μΈ μ°κ²° κ΄λ¦¬
a.
λλ©μΈ μΆκ° μ°κ²° λ° κ΄λ¦¬
b.
μΉ΄ν24μμ ꡬμ
ν λλ©μΈ μ°κ²°νκΈ°
β’
λλ©μΈ μΆκ° μ°κ²° λ° κ΄λ¦¬
β’
μΉ΄ν24μμ ꡬμ
ν λλ©μΈ μ°κ²°νκΈ°
Nginx μ€μ
β’
sudo nano /etc/nginx/sites-available/k-rules.conf
Bash
볡μ¬
κ΅λ£°.com μΆκ°
server {
listen 80;
server_name alohaserver.cafe24.com κ΅λ£°.com;
root /k-rules/front/deploy;
index index.html;
# favicon μ²λ¦¬
location = /favicon.ico {
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.html;
}
# Spring API 리λ²μ€ νλ‘μ (λ°±μλκ° 8080 ν¬νΈλΌλ©΄)
location /api/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Bash
볡μ¬
β’
μ μ₯
Ctrl + S
β’
μ’
λ£
Ctrl + X
β’
ν
μ€νΈ
sudo nginx -t
Bash
볡μ¬
β’
κΈ°μ‘΄ νμΌ μμΌλ©΄ μ κ±°
sudo rm /etc/nginx/sites-enabled/k-rules.conf
Bash
볡μ¬
β’
μ¬λ³Όλ¦ λ§ν¬ μμ±
sudo ln -s /etc/nginx/sites-available/k-rules.conf /etc/nginx/sites-enabled/
Bash
볡μ¬
β’
κΈ°λ³Έ μ¬μ΄νΈ μ κ±°
sudo rm /etc/nginx/sites-enabled/default
Bash
볡μ¬
β’
μλΉμ€ μ¬μμ
sudo systemctl restart nginx
Bash
볡μ¬
SSL
β’
SSL μΈμ¦μ λ°κΈ (λ©ν° λλ©μΈ)
β’
ν
μ€νΈ
β’
SSL μΈμ¦μ λ°κΈ (λ©ν° λλ©μΈ)
νκΈλλ©μΈ μ£Όμ
β’
μ¬κΈ°μλ λ°λμ Punycode λ²μ (xn--3e0b91t.com)μ μ¬μ©ν΄μΌ ν©λλ€.
β’
κ΅λ£°.com κ·Έλλ‘ μ°λ©΄ μΈμ¦μ λ°κΈ μ€ν¨ν©λλ€.
sudo certbot --nginx -d alohaserver.cafe24.com -d κ΅λ£°.com
Bash
볡μ¬
sudo certbot --nginx -d alohaserver.cafe24.com -d xn--3e0b91t.com
Bash
볡μ¬
β’
ν
μ€νΈ
sudo certbot renew --dry-run
Bash
볡μ¬
μ¬μ΄νΈ μ μ
λΆλ‘
μλΉμ€ κ°λ° ν둬ννΈ
Back : Spring Boot API SERVER
- MySQL, JPA, Swagger, Gradle
Front : React
- tailwind, vite
κ΅λ£°.com
- λ‘κ·ΈμΈ(JWT), νμκ°μ
- κΆν : μ¬μ©μ, κ΄λ¦¬μ
- μ¬μ©μ νμ΄μ§
- ν¬νμ§λ¬Έ
- ν¬ν ν, ν¬ν % ν΅κ³ νμΈ
- ν¬νλ΄μ
- κ΄λ¦¬μ νμ΄μ§
- ν¬νμ§λ¬Έ CRUD
νλ‘μ νΈ μμ± λΆν° λ¨κ³μ μΌλ‘ μ§ν
Plain Text
볡μ¬