สิ่งที่ต้องเตรียมใน workshop นี้
1 สมัคร https://www.digitalocean.com/ เพื่อเตรียมไว้สร้าง Server ทดสอบ
2 สมัคร https://www.cloudflare.com/ เพื่อตั้งค่า dns ของโดเมนและซับโดเมน
3 Unix/Linux Command เบื้องต้น เช่น cd, mkdir
4 nginx และ Docker Compose พื้นฐาน ดูได้จาก https://thana.in.th/2020/05/06/ติดตั้ง-nginx-ด้วย-docker-compose/
เมื่อเตรียมพร้อมแล้วเรามาเริ่มกันเล้ย
สร้าง Droplet ใหม่ที่ DigitalOcean
เลือก plan ต่ำสุดเพื่อนำมาทดสอบ แล้วค่อยระเบิดทิ้ง แต่ท่านใดเงินเหลือๆ เลือก 32 cpu เพื่อความลื่นปรื๊ดก็ไม่ว่ากันฮะ 555+
สร้างเสร็จแล้ว ท่านใดเลือก one-time password ก็เซตให้เรียบร้อย แต่ท่านใดใช้ Authen แบบ ssh key ก็เข้า Terminal รอไว้เลย
ติดตั้ง Docker เพื่อเตรียมไว้ทำ Workshop
curl -sSL https://get.docker.com/ | sh
ติดตั้งเสร็จ ทดสอบด้วย
docker -v
ขั้นต่อไปจะ build container จาก nginx image เพื่อทดสอบ
สร้าง directory
mkdir -p /host/workshop/wrk-proxy
สร้างไฟล์ docker-compose.yml
version: '2.0'
services:
web:
image: nginx:1.13.0-alpine
container_name: workshop1
ports:
- "8081:80"
volumes:
- /host/workshop/wrk-proxy/html:/usr/share/nginx/html
สร้าง index.html ไว้ที่ /host/workshop/wrk-proxy/html
<html>
<h1>Workshop1</h1>
</html>
จากนั้นใช้คำสั่ง
docker-compose up -d
ตรวจสอบ container ด้วย
docker ps -a
เปิด browser [ip address server]:[port]
กลับไปที่ terminal ติดตั้ง nginx
apt install nginx
ติดตั้ง nginx เสร็จเรียบร้อยก็ไปตรวจสอบดูที่ Browser พิมพ์ [ip address server] จะขึ้นหน้า Welcome to nginx
จากนั้นเข้าไปที่ https://www.cloudflare.com/ Add Domain เข้าไปจากนั้นก็ไปตั้งค่า DNS ให้ชี้มาที่ Server
จากนั้นเราก็ไปเรียกดู zity.co จะขึ้นหน้า Welcome to nginx ที่เราติดตั้งไว้
ต่อไปเราจะทำการเพิ่ม Sub Domain เข้าไปโดยกดปุ่ม Add record
ใส่ชื่อ Sub Domain ที่ต้องการ และ ip address server
กลับไปที่ terminal เพิ่มไฟล์ workshop1
nano /etc/nginx/sites-available/workshop1
server {
listen 80;
listen 443 ssl http2;
server_name workshop1.zity.co;
location / {
proxy_pass http://127.0.0.1:8081;
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-Host $server_name;
}
}
จากนั้นก็ใช้คำสั่ง
ln -s /etc/nginx/sites-available/workshop1 /etc/nginx/sites-enabled/
เสร็จแล้วตรวจสอบด้วย
nginx -t
หากขึ้น ตามนี้ก็เสร็จแล้ว หากขึ้น error ก็กลับไปตรวจสอบ path หรือชื่อไฟล์
สุดท้ายก็ restart nginx ก็เสร็จแล้วครับ
systemctl restart nginx
จากนั้นเราก็ไปตรวจสอบที่ brower โดยพิมพ์ workshop1.zity.co หากแสดงผลตามหน้า ip adress server:8081 ก็สำเร็จแล้ว
ปอลิง
แน่ะ รู้นะคิดอะไรอยู่ คนจริงเค้าโชว์ ip เครื่อง server กันฮะ แมนๆกันไปเลย หุหุ รีบลบตั้งแต่ ทำ workshop เสร็จแล้ว ไม่กลัวโดนยิงแต่กลัว DO มันแบนมากกว่า งานอยู่กะมันเต็มเรย ถถถถถ+