NGINX
#HelloInfra #HelloErmine #HelloWorld2021
Web server คือ?
Web Server เป็น Software ที่คอยเก็บเอกสารต่าง ๆ เช่น HTML, CSS, Javascript เพื่อตอบสนองต่อ Client ที่ Request มาขอไฟล์ไปแสดงผลในรูปแบบของ World Wide Web (WWW) หน้าที่หลักของ Web server คือแสดงผลข้อมูลและเนื้อหา Website ด้วยการจัดเก็บ, ประมวลผล และนำเสนอออกมาแก่ User ในลักษณะ Webpage นั่นเอง
Apache
Apache หรือ Apache Webserver เป็นซอฟต์แวร์เซิร์ฟเวอร์ที่ใช้กันอย่างแพร่หลาย Apache พัฒนาและดูแลโดย Apache Software Foundation ซึ่งเป็นซอฟต์แวร์โอเพนซอร์สที่สามารถใช้งานได้ฟรี ซึ่งรวดเร็วเชื่อถือได้และปลอดภัย สามารถปรับแต่งได้เพื่อตอบสนองความต้องการของสภาพแวดล้อมที่หลากหลาย

NGINX
NGINX มาจากคำว่า Engine-X ถูกคิดค้นขึ้นมาเพื่อทลายข้อจำกัดของการใช้งานของ Apache Webserver เพื่อให้สามารถที่จะรองรับการทำงานได้มากขึ้น และนอกจากนี้แล้วตัว Nginx ยังมีโมดูลเสริมเข้ามาที่เพียงพอต่อการใช้งานทั่วไป และเป็นซอฟแวร์แบบ Open Source ที่สามารถใครๆก็สามารถใช้งานได้ฟรี

ทำไมต้องใช้ NGINX?
จุดเด่นของเจ้าตัว NGINX คือ มีประสิทธิภาพมากกว่าเจ้าตัว Apache ด้วยการที่ใช้ทรัพยากรของเครื่องที่น้อยกว่า เช่น RAM และ CPU ทำให้ Server สามารถทำงานได้มากยิ่งขึ้น และยังสามารถทำ Reverse Proxy และ Load Balance ได้อีกด้วย
การใช้งาน NGINX
Update Package Manager
sudo apt update
เป็นการปรับปรุง list รายการของ packages ในระบบของเรา
sudo apt upgrade
เป็นการ Upgrade โปรแกรมในระบบของเราให้เป็น Latest
Install NGINX
ติดตั้ง Package ของ NGINX
sudo apt-get install nginx
เมื่อติดตั้งเสร็จแล้วให้ลองเข้าเว็บผ่าน IP ของ Server จะขึ้นหน้าแรกของ nginx มาให้

NGINX Config คือ?
การ Configuration คือการที่เราสามารถไปตั้งค่าให้ระบบทำงานตามที่เราต้องการได้
/etc/nginx/conf.d/<name>.conf
ที่อยู่ของไฟล์ที่จะใช้ในการ Configuration
ใช้คำสั่ง sudo vim /etc/nginx/conf.d/<filename>.conf
เพื่อ Configuration
ตัวอย่างของไฟล์ Config
server {
listen 80;
server_name your_ip;
location / {
root /var/www/html;
}
}
listen
คือ Port เพื่อให้เข้าถึง Server โดยเข้าผ่าน port ที่ตั้งค่าไว้
server_name
เป็นชื่อ Domain ของเรา หรือเลข IP ของ Server
location
ที่ตั้งค่าเมื่อมี Request เข้ามาจะให้เข้าถึง Resource ของ Server ที่ไหน
Node version manager (NVM)
เป็นเครื่องมือสำหรับจัดการกับเวอร์ชันของ Node ในเครื่อง ซึ่งมีความสามารถในการติดตั้ง Node.js เวอร์ชั่นต่างๆ รวมไปถึงการ Downgrade หรือ Upgrade เวอร์ชั่นของ Node ได้อย่างง่ายดาย
Install node version manager
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Node package manager (NPM)
Node package manager หรือ NPM คือเครื่องมือในการจัดการกับ package ของ Node.js Project ซึ่งถูกเขียนด้วยภาษา JavaScript
Install NPM
nvm install node
Yarn
Yarn คือ Package Manager เช่นเดียวกับ NPM แต่ถูกพัฒนาต่อโดย Facebook ซึ่งสามารถทำงานได้เร็วกว่า NPM มาก
Install yarn
npm install -g yarn
ติดตั้ง Dependency/Package/Module ของ Project ซึ่งกำหนดในไฟล์ package.json
yarn
แหล่งอ้างอิง 📑
Last updated
Was this helpful?