Author: shikima

ย้าย server ใหม่ ทำ wordpress พัง ไม่ได้อัพเดทเว็บเป็นปี

ตามหัวข้อข้างบนแหละ ไม่ได้อัพเดทอะไรเลยเป็นปี ตอนนี้ก็ทำงานแบบเดิม แต่ก็ไปทำอย่างอื่นบ้างเหมือนกัน อายุเพิ่มขึ้นสุขภาพก็แย่ลง อะไรๆ ก็เปลี่ยนแปลงไปเยอะแยะมากมาย ก็ได้แต่ดูแลตัวเองและคนรอบๆ ตัวแหละ

เปลี่ยนชีวิตจาก svn เป็น git

โพสสั้นๆ เมื่อก่อนทำงานคนเดียว เก็บไฟล์ source code ไว้ใน svn เดี๋ยวนี้ย้ายไปบน git หมดแล้ว ต้องทำงานร่วมกับคนอื่น แถมทุกๆ คนในทีมใช้ git กันหมด ก็ต้องตามเขาละเนอะ

ติดต่อฐานข้อมูลหลายอันใน codeigniter

การติดต่อฐานข้อมูลใน CI เราต้องไปแก้ไขไฟล์

/applications/config/database.php

แก้ไขโค๊ดส่วนนี้เพื่อใช้ติดต่อกับฐานข้อมูล

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'xxx';
$db['default']['password'] = 'xxx';
$db['default']['database'] = 'xxx';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = 'application/cache';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

เวลาใช้งานก็สามารถใช้ได้โดยเขียน SQL แล้ว query หรือ active record ก็ได้
// query
$SQLCom = "SELECT * FROM `members`";
$members = $this->db->query($SQLCom)->result_array();
// active record
$members = $this->db->get("members");

แต่ถ้าต้องการติดต่อฐานข้อมูลมากกว่า 1 ฐานข้อมูล
เราสามารถเพิ่มการเชื่อต่อในไฟล์ database.php ได้ตามนี้

$db['db2']['hostname'] = "localhost";
$db['db2']['username'] = "root";
$db['db2']['password'] = "";
$db['db2']['database'] = "other_database_name";
$db['db2']['dbdriver'] = "mysql";
$db['db2']['dbprefix'] = "";
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = FALSE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = "";
$db['db2']['char_set'] = "utf8";
$db['db2']['dbcollat'] = "utf8_general_ci";
$db['db2']['swap_pre'] = "";
$db['db2']['autoinit'] = TRUE;
$db['db2']['stricton'] = FALSE;

เวลาเรียกใช้งานก็ตามนี้เลย
$db2 = $this->load->database("db2", TRUE);
$workers = $db2->get("workers");
// จะใช้การ query คำสั่งก็ได้ ไม่ผิดกติกา

แบบนี้เราจะติดต่อฐานข้อมูลกี่อันก็ได้แล้วแต่ง่ายๆ เลย


ความเร็วของ droplet ใน digitalocean

เขียนเมื่อ 01-06-2017 อนาคตข้างหน้า อาจจะไว้กว่านี้หรือมี node ที่อื่นก็ได้

ปกติผมจะใช้บริการ server ที่ digital ocean ซะเป็นส่วนใหญ่ ถ้าเว็บไม่ใหญ่มาก หรือต้องการปรับแต่ง server ให้มากกว่า share server ทั้งหลาย แต่ไม่อยากจ่ายแพงเหมือน vps เว็บๆ เล็กๆ บางเว็บ แค่ digital ocean ตัวล่างสุด เดือนละ 5usd ก็เพียงพอใช้งานแล้ว ถ้าไปได้ดีก็สามารถเพิ่ม spec ทีหลังได้ แต่ถ้าไม่รุ่งก็ปิดไปได้เลย ไม่ต้องจ่ายเป็นรายปีแบบ vps

ทีนี้ digital ocean มันก็มี node ตั้งหลายที่ แล้วที่ไหนมันเหมาะกับเมืองไทยละ

ส่วนใหญ่ผมจะใช้ที่สิงคโปร เพราะ bandwidth กลับไทย เยอะสุดละ แต่บางงานก็อยากลองที่แปลกๆ หรือเว็บบางแบบ ก็ไม่อยากใช้ ip ใกล้ๆ ประเทศไทย (รู้ๆ กัน) ก็เลยลองทดสอบความเร็วของแต่ละ server ที่ digital ocean แล้วเอามาแชร์กันครับ

New York มี 3 Node

Ping จะอยู่ราวๆ 300 กลางๆ แต่ Download น้อยมากๆ 5Mb กว่าๆ จากที่เคยใช้ เว็บจะโหลดมาเรื่อยๆ ไม่หลุด แต่ก็ไม่ไวควรจะใช้ cloudflare ครอบไว้ ถ้าเป็นเว็บแบบ dynamic ที่ต้องโหลดบ่อยๆ ไม่แนะนำนะครับ

San Francisco มี 2 Node

Ping น้อยลงถ้าเทียบกับ New York ความเร็วก็ดีกว่าด้วย ถ้าต้องการ Server ที่เมกา ช่วงหลังๆ ผมจะใช้ที่ SF มากกว่า NY ละครับ

Amsterdam มี 2 Node

ผมไม่เคยใช้ Node ในยุโรปเลย ความเร็วก็พอๆ กับซานฟราน

Singapore มี 1 Node

เหมาะสำหรับตั้ง Server สำหรับเว็บไทย ที่ไม่อยากตั้ง Server ที่ไทย ที่สุดแล้ว เป็นที่ประจำของผมเองแหละครับ

London มี 1 Node

อีกที่ในยุโรป ผมไม่เคยใช้เหมือนกันครับ

Frankfurt มี 1 Node

อยู่ยุโรป ความเร็วกับปิงก็พอๆ กับ node อื่นๆ ในยุโรป

Toronto มี 1 Node

อีก node ในทวีปอเมริกา ความเร็วจากเมืองไทยไม่ค่อยดีเท่าไหร่

Bangalore มี 1 Node

อีกที่ที่ผมเอาไว้เก็บเว็บที่ไม่อยากอยู่ในเมืองไทย แล้วไม่อยากตั้งไว้สิงคโปรเหมือน server อื่นๆ เอาไว้ทดแทนสิงคโปรได้เลยทีเดียว


เปลี่ยนรหัสผ่าน mysql ของ xampp

หลังจากติดตั้ง xampp แล้ว ทุกครั้งเราต้องมาเปลี่ยนรหัสผ่านของ mysql เองตลอด ปกติผมไม่เคยให้มี user ว่างหรือไม่ใส่รหัสผ่านของ root ใน mysql แต่ทุกครั้งที่ลงโปรแกรมหรือเปลี่ยนคอมใหม่ ก็ต้องมาเซ็ตใหม่ทุกครั้ง บางทีก็ลืมขั้นตอนไปเหมือนกัน
วิธีเปลี่ยนก็ไม่ยากเลย

  1. เปิด service mysql ใน xampp ก่อนเลย
  2. เปิด shell ของ xampp
    พิมพ์คำสั่ง mysqladmin.exe -u root password
    จากนั้นให้ใส่รหัสผ่านใหม่สองครั้ง
  3. นำ user ว่างของ mysql ออกจากระบบ
    เปิด command prompt ไปที่ dir c:/xampp/mysqll/bin
    เข้าระบบโดยพิมพ์ mysql -u root -p และใส่รหัสผ่าน
    พิมพ์คำสั่งใช้งานฐานข้อมูล mysql โดยใช้คำสั่ง use `mysql`
    ลบ user ว่างทิ้ง โดยใช้คำสั่ง delete from `User` where `User` = ” ;
    รีโหลดสิทธิ์ของผู้ใช้ใหม่ โดยใช้คำสั่ง flush privileges;
    เท่านี้ก็เข้าใช้งานโดยไม่ใส่ user ไม่ได้แล้ว

จบแบบง่ายๆ นี่แหละครับ


SSL ของ cloudflare

SSL ใน CloudFlare มีสามแบบตามรูปนี้

อธิบายตามรูปก็ตามนี้

Flexible SSL
เข้ารหัสระหว่าง USER กับ CloudFlare แต่ระหว่าง CloudFlare กับ Server ไม่ต้องมี SSL
ใช้ SSL ของ CloudFlare เลย

Full SSL
เข้ารหัสระหว่าง USER กับ CloudFlare และ CloudFlare กับ Server
ต้องมี SSL ใน Server แต่ Cloudflare จะไม่สน Cert ใน Server อาจจะเป็น Cert แบบแชร์ก็ได้

Full SSL (stict)
เข้ารหัสระหว่าง USER กับ CloudFlare และ CloudFlare กับ Server
SSL ต้องมี Cert ที่ตรวจสอบได้จริงและยังไม่หมดอายุ

ปกติใน CloudFlare จะเปิด SSL ให้อยู่แล้ว แค่เพิ่ม page rule เข้าไปแค่นั้น ก็ใช้งานได้แล้ว

ตัวอย่างเพิ่ม page rule เพื่อเปิด SSL โดยที่ Server ไม่มี SSL




show hidden file ใน dreamviewer

ปกติผมจะใช้ dreamviewer แค่ cs4 ในการเขียนเว็บ เมื่อไม่กี่วันมานี้ได้คอมเครื่องใหม่มา ก็เลยอยากสนับสนุนของแท้ซะหน่อย (แบบ trial ก่อนนะ) เลยโหลด cc มาละซะ แล้วบางไฟล์ใน server มันจะถูกซ่อนไว้ (เป็นปกติ) คราวนี้คลำกันนานเลย เข้าเมนูนู้นนี่นั้น ก็หาไม่เจอซะที สุดท้ายกดไปกดมาก็เจอง่ายๆ ตามรูปเลย

เสียเวลาไป 2 ชั่วโมง เพื่อปุ่มนี้ปุ่มเดียวเลย




HDD External ตัวแรกในชีวิต

ปกติผมจะใช้ Flash Drive หรือไม่ก็เขียนข้อมูลลงแผ่น DVD เป็นส่วนใหญ่ แต่เดี๋ยวนี้สื่อหลายๆ อย่างมันก็เริ่มเปลี่ยนเป็นแบบ Download ทั้งนั้นแล้ว อย่าง เพลง หนัง เดี๋ยวนี้ก็เน้น Download กันซะมากกว่า ก็ได้ฤกษ์จัด External สักตัวมาไว้เก็บข้อมูลประจำบ้าน + ได้เงินจากทำโปรเจคนิดหน่อย ก็จัดมาซะ 3TB เลย เอาให้หายอยากกันไปเลยทีเดียว

นอกจากต่อ USB3 ได้แล้ว ยังต่อ LAN แชร์กันในบ้านได้อีก ถ้า HDD เจ้ง แต่กล่องไม่เจ้ง ก็ยังแกะเอา HDD ข้างในเปลี่ยนได้อีก (เห็นฝรั่งทำกัน)