Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
kết quả từ 1 tới 1 trên 1
Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    TheShinichi's Avatar
    Banned

    Trạng thái
    Offline
    Tham gia ngày
    Oct 2009
    Thành viên thứ
    2018
    Giới tính
    Bài gởi
    2
    Level: 15 [?]
    Experience: 6,450
    Next Level: 7,465
    Cảm ơn 0
    Cảm ơn 0 lần / 0 Bài viết

    Icon1 Cấu hình IIS và Apache chạy trên cùng một máy trên cùng port 80  


    Cấu hình IIS và Apache chạy trên cùng một máy trên cùng port 80



    Bạn là một webmaster hoặc đơn thuần chỉ là một sinh viên đang học tập, nghiên cứu về lĩnh vực web developing thì ắt hẳn không ít thì nhiều cũng sử dụng qua 2 web server rất phổ biến là IIS (Internet Information Services)Apache để chạy ASP/ASP.NETPHP. Thật may mắn, việc cấu hình IIS để chạy PHP không quá khó khăn, chỉ cần đọc kỹ hướng dẫn và làm theo. Do đó, với một máy tính cài hệ điều hành Windows (Windows XP, Windows Server 2003, Windows 7, Windows Server 2008...) chúng ta dễ dàng sử dụng để chạy ASP/ASP.NET và PHP phục vụ cho việc nghiên cứu, học tập hoặc chỉ là "vọc chơi". Tuy vậy, đôi lúc IIS không đáp ứng được một số nhu cầu của chúng ta, ví dụ như là IIS6 không có mod_Rewrite (Ngoại trừ cài đặt thêm plugin cho IIS6 và IIS7 có hỗ trợ URL Rewrite Module) để thử nghiệm việc tối ưu hoá url, trong khi SEO đang được khá nhiều webmaster quan tâm đến một cách sâu sắc. Bên cạnh đó, theo kinh nghiệm của tôi, PHP chạy không mượt mà lắm trên IIS. Thế có nghĩa là đôi lúc chúng ta cũng phải cần sử dụng đến Apache. Để chạy đồng thời IIS và Apache cũng không phải việc gì quá khó khăn, chỉ cần cấu hình cho một trong hai chạy khác port 80 là ổn thoả (Xem thêm : Cấu hình IIS và Apache chạy trên cùng một máy).

    Cuộc sống sẽ vẫn êm đềm trôi qua, IIS và Apache sẽ vẫn sống chung hoà bình với nhau cho đến cách đây gần hai tuần, có một số thay đổi nhỏ trên máy chủ. Sự thay đổi đó bắt buộc tôi cần phải gì đó để IIS và Apache không chỉ "sống chung" với nhau trên cùng một máy mà còn phải trên cùng port 80 (?!?). Xin nói sơ về máy chủ của tôi (chính xác là của công ty tôi, tôi chỉ là người quản lý nó). Máy chủ cài đặt hệ điều hành Windows Server 2008 Standard, có 4 IPs tĩnh. Theo thông số do bên nhà cung cấp hosting cho biết, máy chủ này có hỗ trợ Hyper-V. Do đó, ban đầu tôi cũng đã có ý định cài đặt một máy ảo chạy Windows Server 2003 hoặc Ubuntu Server để chạy riêng Apache. May mắn thay, tôi đã tham khảo từ nhiều nguồn trên Internet, từ một số bạn bè, người quen làm việc ở các công ty cung cấp hosting, làm về hệ thống mạng,.. Đã có những phản hồi rất khả quan. Một trong số đó đã được tôi thử nghiệm và thành công. Hiện tại máy chủ của tôi đang chạy đồng thời 2 web server, đến thời điểm này chưa thấy có bất kỳ sự xung đột nào xảy ra.

    Tôi lan man hơi nhiều nhỉ ? Thôi, nào chúng ta vào vấn đề nhé !

    Ở đây, tôi giả định chúng ta có 2 domain name : iis.microsync.net apache.microsync.net. Máy chủ cài hệ điều hành Windows, phiên bản Server 2008 Standard và có 2 IPs tĩnh 192.168.0.100 và 192.168.0.200. Yêu cầu ở đây là cái iis chúng ta sẽ cấu hình cho chạy với IIS trên IP 192.168.0.100 và cái còn lại chạy với Apache trên IP 192.168.0.200.
    Một số vấn đề, tôi xem như chúng ta đã "pass" qua nhé :

    - Cài đặt IIS trên Windows XP / Cài đặt IIS7 trên Windows 7, Windows Server 2008

    - Tạo website mới trên IIS

    - Cài đặt Apache trên Windows / Nắm trong tay web server di động gồm Apache+PHP+FileZilla+Mercury với gói XAMPP

    - Chỉnh sửa file hosts trong Windows

    Trước hết, khởi động IIS7 trên Windows 7 hoặc Windows Server 2008, tạo một website mới ứng với domain iis.microsync.net. Ở bước này chúng ta có thể cấu hình file hosts và test thử với domain trên.
    Tiếp theo, đến gì nhỉ ? Apache ! Chính xác là vậy ! Có lẽ cũng không cần mất nhiều thời gian cho việc ngồi ì ra một chỗ mà cài đặt Apache theo đúng chuẩn của nó. Thay vào đó, chúng ta nên dùng gói XAMPP để tiết kiệm thời gian. Chỉ đơn thuần download, giải nén, và chạy thôi. Xem như pass bước này và chúng ta đã có xmapp cài đặt ở ổ đĩa D: (D:\xampp). Nhưng đừng vội start nó lên nếu bạn không muốn gặp lỗi. Đơn giản là vì port 80 trên máy đang bị IIS "chiếm giữ". Chúng ta sang bước kế tiếp nhé.
    Không rõ ở trên tôi có nhấn mạnh về việc máy chủ của chúng ta có nhiều hơn 1 IP không nhỉ ? Vấn đề mấu chốt của toàn bộ bài viết này nằm ở đấy ! Chúng ta sẽ "ép" thằng IIS chỉ lắng nghe (listen) trên IP 192.168.0.100 thôi và cái IP còn lại sẽ do Apache quản lý. Như thế, chúng ta sẽ có 2 web server chạy trên cùng một máy chủ, trên 2 IPs khác nhau, và trên cùng một port 80. Thật tuyệt chứ nhỉ ?

    Chúng ta đến bước quan trọng nhất của bài viết này. Nào,

    1. Mở DOS (Start \ Run \cmd).

    2. Tại dấu nhắc DOS, gõ netsh

    3. Dấu nhắc DOS sẽ chuyển sang dấu nhắc của netsh (như là netsh>)

    4. Gõ http và dấu nhắc đã chuyển thành netsh http>

    5. Gõ tiếp show iplisten. Lệnh này sẽ liệt kê ra toàn bộ các IPs đang được dịch vụ http lắng nghe. Nói một cách dễ hiểu là liệt kê các IPs mà IIS đang "chiếm giữ":

    IP addresses present in the IP listen list

    ------------------------------------------------
    192.168.0.100
    192.168.0.200

    6. Gõ add iplisten ipaddress=192.168.0.100. Lệnh này yêu cầu http service (tức IIS) chỉ lắng nghe 1 IP được chỉ định thôi. Và như thế chúng ta đã "giải phóng" được IP còn lại cho Apache.

    7. Bạn có thể gõ lại lênh show iplisten để kiểm tra, lúc này sẽ chỉ có IP 192.168.0.100 xuất hiện.

    8. Thoát netsh.
    Đến bước này, chúng ta cấu hình Apache listen trên IP 192.168.0.200 nữa là hoàn tất. Hãy thử cả 2 web server để thấy kết quả mà chúng ta đã đạt được ! Không quá tệ chứ hả ?

    -Nếu bạn thấy bài viết này hay, hãy ủng hộ tôi bằng cách click vào các quảng cáo nào bạn thực sự quan tâm ! -Nếu bạn đăng lại bài này ở đâu đó, đừng quên ghi chú thông tin để người đọc thực sự biết rõ nguồn gốc của bài viết nhé !


    Link gốc của bài viết : Cấu hình IIS và Apache chạy trên cùng một máy trên cùng port 80 (http://shinichi.microsync.net/blog/post/Cau-hinh-IIS-va-Apache-chay-tren-cung-mot-may-tren-cung-port-80.php)


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Config apache tomcat
    By hoangkct in forum Java
    Trả lời: 0
    Bài mới gởi: 21-07-2011, 04:06 PM
  2. Port forwarding!
    By s0ct0j0c in forum LAN - WAN
    Trả lời: 0
    Bài mới gởi: 23-02-2011, 07:08 PM
  3. Help lỗi Apache is functioning normally ?
    By loc_pc in forum Hỏi đáp & Thảo luận
    Trả lời: 1
    Bài mới gởi: 12-02-2011, 08:01 PM
  4. Trả lời: 2
    Bài mới gởi: 11-08-2010, 09:45 AM
  5. Maximum Apache Security
    By MrZen in forum E-books
    Trả lời: 0
    Bài mới gởi: 02-12-2009, 03:28 PM

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •