Archive for the ‘Web Server’ Category

0022 | สร้าง subdomain แบบสิ้นคิด

Sunday, June 15th, 2008 Posted in Web Server | 8 Comments »

เล่นง่ายมากเลยครับวันนี้
พี่เอก bluegy.com ให้มา config แปลงจาก subfolder เป็น subdomain
สมมติ URL เดิม http://www.icez.net/blog/
ก็ให้มันเข้าจาก http://blog.icez.net/ แทนได้เลย
เราก็นึกก่อนเลย htaccess rewrite เอาก็จบ เสร็จแล้วก็เลยสิ้นคิดมากมาย
นั่ง search หาข้อมูลกันแบบงงๆ เล็กน้อย มั่วเอาจาก wordpress mu
สุดท้ายก็ได้ตัว .htaccess ตัวนี้มาครับ

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !\.php$
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . – [L]

000000;">RewriteCond %{HTTP_HOST} !www.icez.net
RewriteCond %{HTTP_HOST} !^icez.net

RewriteCond %{HTTP_HOST}<>%{REQUEST_URI} ^([^.]+)\.icez\.net(:80)?<>/([^/]*) [NC]
RewriteCond %1<>%3 !^(.*)<>\1$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L,QSA]

เจอปัญหาอย่างนึงว่า ถ้าสมมติเข้าเว็บ อย่าง http://something.icez.net/
แล้วไม่มี folder ชื่อนี้อยู่ในระบบเนี่ย
มันจะเด้งหน้า Internal Server Error ขึ้นมาเลย

แก้ได้แล้วค้าบบบบ ไม่เจอแล้ว เย้ๆๆๆๆๆๆๆๆๆ
(ถ้าไม่เจอ subdomain จะขึ้นหน้า 404 ธรรมดาแทน)

อ้อ ถ้าใครจะเอาไปทำ อย่าลืมเพิ่ม config apache ลงใน virtual host ด้วยนะครับ

ServerAlias *.icez.net

ตามนี้เลยฮะ (แก้ตัวสีน้ำเงินด้วยน่อ)
แล้วก็อย่าลืมไป add DNS record ด้วยนะจ๊ะ

*.icez.net. IN A 203.146.129.182

.

.

แก้ไขเพิ่มเติมจ้าาาา ด้านบนเลย ^^”

Tags: , ,

0013 | เว็บโหด โคตรสยอง

Wednesday, May 14th, 2008 Posted in Web Server | 2 Comments »

เมื่อวานงานเข้าครับ
ติดตั้งระบบใหม่ทั้งเครื่อง เว็บบอร์ดใต้ดินแห่งหนึ่ง
เนื่องด้วยคนเข้าเยอะชิบหาย แถมเป็นเว็บบอร์ด SMF ซะด้วย

โจทย์มีมาให้ค่อนข้าง… เอ่อ… ระดับนึงละครับ
server 2 เครื่อง เครื่องแรก Core 2 Duo E6600 / RAM 3 GB
เครื่องที่สอง Core 2 Quad Q6xxx อะไรซักอย่าง จำรุ่นไม่ได้ / RAM 3GB

จะบอกว่ามันใช้งานหนักเอามากๆ
งานนี้ก็เลยต้องทดลองมันสารพัดวิธีเลยครับ

เริ่มจาก level แรกสุด apache + squid reverse proxy ไม่ผ่านเลยครับ (load avg 50.xx)
level ที่สอง เพิ่ม DNS Round Robin เข้าช่วย เอาเครื่อง DB มาช่วยรันเว็บด้วย ก็ยังไม่ผ่าน แต่ดีขึ้นหน่อยนึง (load เหลือ 30.xx)
level ที่สาม ลง memcache ช่วยระบบ session + SMF memcache ก็ไม่ผ่านอยู่ดี แต่ดีขึ้นใช้ได้ (load เหลือ ~25.xx)

level สุดท้าย เลิกใช้ apache ลบ squid ทิ้ง แล้วลง lighttpd 1.4 + mod fastcgi แทน
load average ลดลงมาเหลือประมาณ 5-6 แต่ page generation time ก็ยังไม่ค่อยจะน่าพอใจ
แบบว่าหน้า index พี่ซัดไป 300 KB เยอะโคดเลย

งานนี้ขอเวลาไปสัปดาห์นึง ต้องนั่งเฝ้าอีก เห้อ… ไหนจะงานรับน้องด้วย งิดๆๆๆ

เพิ่มเติมทางเทคนิค:

NFS service บน Fedora 7 เป็นต้นมา มีการเปลี่ยนแปลงชื่อ service นิดๆ หน่อยๆ
ทำเอางงกันใช้ได้ (ฮาๆ) ตามรายการต่อไปนี้ครับ

  • nfs ยังคงสภาพเดิม คำสั่งเดิมได้เลย
  • portmap เปลี่ยนชื่อไปเป็น rpcbind
  • เพิ่มเติม service nfslock ไว้ทำ nfs remote lock เวลาต้องการ lock access file ต่างๆ

ขั้นตอนการติดตั้ง nfs บน Fedora 8 ง่ายมากจนน่าตกใจ ดังนี้ครับ

# yum install nfs-utils

จบเลย คำสั่งเดียวสั้นๆ ง่ายๆ เลย
เสร็จแล้วก็ตั้งค่าให้รันตั้งแต่เริ่มเปิดเครื่อง (สำหรับเครื่อง nfs server เท่านั้น)

# chkconfig nfs on
# chkconfig nfslock on
# chkconfig rpcbind on

แล้วแก้แฟ้ม /etc/exports ตามคู่มือ (รายละเอียดค่อนข้างเยอะ ไว้ค่อยสาธยาย ง่วงมาก)
พร้อมด้วยการแก้ /etc/hosts.allow เพื่อเพิ่มความปลอดภัยให้แก่ nfs server
แก้เสร็จแล้วก็สั่ง start service ทั้งสามตัวได้เลย ตามลำดับต่อไปนี้

# service rpcbind start
# service nfs start
# service nfslock start

จากนั้นไปที่เครื่อง client ที่จะ mount nfs partition แล้วทดลองสั่งค้นหา partition ที่อนุญาตให้ mount ดู ตามนี้

# showmount -e ff6600;">10.0.0.1

* กรุณาแก้ IP เป็น IP ของเครื่อง nfs server ของท่านครับ พอ list ได้ที่แล้วก็สั่ง mount ได้เลย

# mount ff0000;">10.0.0.1:339966;">/path/to/exports 0000ff;">/path/to/exports

กรณีการทำ load balancing แนะนำให้ mount ลงไปที่ path เดียวกันกับเครื่อง server ครับ
จะช่วยลดปัญหายุ่งยากลงได้เยอะ

Tags: , , ,