วันนี้ผมอยากจะมาจดบันทึก และแชร์คำสั่งที่ผมใช้บ๊อยบ่อยใน Ubuntu Server ครับ
โปรแกรมเมอร์อย่างพวกเรา คงหนีไม่พ้น การติดตั้งโปรแกรมบนเครื่องใช้งานจริง แต่ ระบบปฏิบัติการส่วนใหญ่อาจไม่ใช่ Windows *ยิ่งเป็นสายฟรีแล้วแล้วก็ทุกคนคงถึง Ubuntu กันใช่ไหมครับ จะมีคำสั่งอะไรบ้างตามอ่านกันเลยครับ
คำสั่งพื้นฐาน
คำสั่ง “sudo su” ใน server นั้นจะเป็นการเปลี่ยนสิทธิ์การใช้งานจาก user เป็น admin ตัวอย่าง
sudo su
คำสั่ง chmod จะเป็นการให้สิทธิ์การเข้าถึง File หรือ Directory เราจะเรียกมันว่า Permission โดยโครงสร้างตัวอย่างด้านล่างจะมีทั้งหมด 4 ส่วน คือ
ส่วนที่ 1. sudo คือการใช้สิทธิ์ admin ในการสั่งงาน
ส่วนที่ 2. chmod คือคำสั่งแก้ไข สิทธิ์ Permission
ส่วนที่ 3. -R ย่อมาจาก recursive อธิบายจากตัวอย่าง คือคำสั่งจะมีผลกับ file และ directory ย่อยๆ ที่อยู่ภายใน www ด้วย
775 ชุดตัวเลข 3 หลัก แบ่งเป็นตัวเลขมีหลายรูปแบบเช่น 755, 777 เป็นต้น ในความหมายของเลขแต่ละหลักทั้ง 3 หลักจะประกอบไปด้วย Owner (7), Group (7), Other (5)
- จากตัวอย่าง เลขหลักแรก คือเลข 7 จะมีความหมาย = Execute(3) + Write(2) + Read(1) เป็นค่าตัวเลขที่เอามารวมกัน
- จากตัวอย่าง เลขหลักที่อยู่ท้าย คือเลข 5 จะมีความหมาย = Execute(3) + Write(2)
* ดังนั้นความหมายของ 775 คือ
7 คือ Owner สามารถ (Execute, Write, Read)
7 คือ Group สามารถ (Execute, Write, Read)
5 คือ Other สามารถ (Execute, Write)
ส่วนที่ 4. /var/www คือ file หรือ directory ก็ได้
sudo chmod -R 775 /var/www
คำสั่ง chown คือการเปลี่ยนเจ้าของ file หรือ directory รวมทั้ง file owner และ group owner โดยที่คุณสามารถแก้ไขตรง [USER NAME] ได้ คุณสามารถเปลี่ยนเป็น www-data:www-data สำหรับให้สิทธิ์การเข้าถึงเว็บไซต์ ที่ทำงานด้วยภาษา php ได้เลย
sudo chown -R [USER NAME]:[USER NAME] /var/www
บทความนี้ผมจะเน้นจดบันทึกซะเป็นส่วนใหญ่ หากใครสงสัย หรือมีข้อแนะนำสามารถ Comment กันเข้ามาได้เลยนะครับ ผมจะเข้ามาอัพเดทคำสั่งบ่อยๆ สำหรับวันนี้สวัสดีคร้าบ
ต่อจากบรรทัดนี้ผมจะบันทึก Command ใน Tools อื่นๆ ที่ผมชอบลืม
หากใครอยากได้คำอธิบายเพิ่มเติม สามารถ Comment มาถามได้เลยครับ
Nginx
sudo service nginx restart
sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo nginx -s reload
Ubuntu
du -hs /path/to/directory
zip -r compressed_filename.zip foldername
// หากยังไม่ติดตั้งใช้ script ด้านล่างนี้ก่อนนะครับ
sudo apt-get install zip
du -hs /path/to/directory
sudo kill -9 $(sudo lsof -t -i:3000)
Pm2
pm2 start app.js --name "my-api"
pm2 start web.js --name "web-interface"
pm2 stop web-interface
pm2 delete
pm2 start npm -- start
pm2 start npm --name "app name" -- start
ขอบคุณครับ ใช้บ่อยเหมือนกัน