Hiển thị kết quả từ 1 đến 4 / 4
  1. #1
    Tham gia
    05-03-2009
    Bài viết
    390
    Like
    1
    Thanked 6 Times in 6 Posts

    Thông tin Cài nginx và php trên Windows

    Xem chi tiết tại: http://blog.svtin.com/2011/01/cai-ng...n-windows.html
    -----
    Dưới là 1 bài thực hành cho các bạn.

    Nếu bạn đã từng chán với web server Apache và muốn tìm một thứ gì đó mới mới nhằm thay thế. Nginx là 1 web server tương đối rất thông dụng chỉ sau apache sở dĩ vì nó sinh sau cơ mà (2004). Có rất rất nhiều website lựa chọn nó. Theo một số thông tin PR có thể không chính xác thì nó chiếm 7.5% trên TG. Hầu hết các website lựa chọn vì lý do high-performance của nó...

    Để đạt được high-performance cao nhất thì nên cài nginx trên môi trường unix/linux. Trên môi trường windows thì nó không phải là lựa chọn tốt. Đối với việc kết hợp với php trên windows nó chỉ có thể chạy thông qua Fast CGI.

    Nhưng không phải vì vậy mà chúng ta không thử một lần cho biết. Có thể bạn sẽ rút ra được vài kinh nghiệm nhỏ và hiểu ra được một vài vấn đề nào đó. Mình nói thế chứ thật sự thì mình củng chẳng hiểu gì... cơ mà

    Đầu tiên chúng ta vào http://nginx.org/en/download.html và tải Stable version mới nhất của Windows về máy. Bạn chú ý là version cho windows có dạng nginx/Windows-***x

    Tải về và giải nén vào ổ C:\. Phiên bản mình đang sử dụng là 0.8.54 và thư mục sau giải nén của mình là C:\nginx-0.8.54. Tất nhiên sau khi bạn đọc bài này thì số version sẽ thay đổi và bạn phải sửa lại cho phù hợp nhá

    Bước tiếp là cài PHP. Nếu máy bạn đã cài PHP rồi thì vào thư mục chứa PHP của mình xem có file php-cgi.exe chưa. Nếu chưa thì cài lại. Có thì bỏ qua việc cài này nhé :P

    Tải PHP tại http://windows.php.net/download/. Nên chọn bản Installer cho nhẹ nhàng và nhanh chóng

    Tải về và cài, khi cài nên chọn đường dẫn cài đặt là C:\PHP nhé. Khi cài sẽ có bước chọn CGI. Bạn chọn Other CGI. Hình dưới


    Sau khi cài xong PHP chúng ta sẽ thiết đặt cho nginx chạy được PHP. Bạn vào thư mục C:\nginx-0.8.54\conf. Dùng notepad mở file nginx.conf

    - Đầu tiên là chỉnh Port của web server. Port mặc định của HTTP là 80. Do máy mình đã cài Apache rồi và nó đang dùng port 80 nên mình sửa lại port là 8088. Nếu bạn không chắc máy mình đã có web server nào hay chưa thì dùng 8088 giống mình nhá. (Hình dưới)


    - Tiếp theo là chỉnh trang web mặc định của web server. Chúng ta thêm index.php vào trước index.html. (Hình dưới)


    - Và cũng tiếp theo bạn sẽ thông báo cho nginx dùng FastCGI server ở port nào... Bạn bỏ hết các kí tự # cho giống như hình phía dưới. Sửa lại phần bôi đen cho phù hợp với phiên bản bạn đang sử dụng và sửa lại phần 127.0.0.1:9000; thành 127.0.0.1:10000;. Số 10000 là port của FastCGI. nginx sẽ "lắng nghe" port này. Mặc định nó là 9000 nhưng mình thích con số 10ngàn nên đã sửa lại :P


    Lưu lại và tắt notepad đi.

    Các bước config và cài đặt đã xong. Bây giờ chúng ta chạy nó. Đầu tiên chúng ta chạy CGI server của PHP. Việc chạy CGI chỉ có thể thực hiện qua dòng lệnh (Command Prompt). Lệnh chạy CGI là C:\xampp\php\php-cgi.exe -b 127.0.0.1:10000 -c c:\xampp\php\php.ini (hình dưới). Sau khi chạy lệnh bạn KHÔNG tắt màn hình command prompt đi. Việc tắt cũng đồng nghĩa tắt CGI server.


    Sau đấy chúng ta chạy nginx. Bạn vào C:\nginx-0.8.54 và double click file nginx.exe để chạy.

    Sau đấy mởi trình duyệt và truy cập vào http://localhost:8088 xem kết quả. Thấy chữ Welcome to nginx! có nghĩa là nginx đã chạy thành công.

    [Xem chú ý cuối bài viết]

    Bạn chú ý là thư mục gốc chứa web của nginx là C:\nginx-0.8.54\html. Bạn thử tạo 1 file abc.php có nội dung . Trở lại trình duyệt và truy cập http://localhost:8088/abc.php nếu thấy trang thông tin PHP thì đồng nghĩa CGI đã chạy và nó đã kết hợp nginx thành công.

    Màn hình đen của command prompt khi chạy CGI server có thể khiến bạn khó chịu. Có cách chúng ta ẩn màn hình command prompt mà CGI vẫn chạy đó là dùng RunHiddenConsole.exe. Tải nó tại http://blogbuildingu.com/files/RunHiddenConsole.zip. Giải nén nó và copy file RunHiddenConsole.exe vào thư mục C:\Windows. Lúc bấy giờ lệnh để chạy CGI là RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:10000 -c c:\php\php.ini. Sau khi chạy xong bạn có thể yên tâm tắt cửa sổ command prompt đi.

    Mỗi khi muốn chạy nginx + php chúng ta phải chúng ta phải chạy CGI server rồi chạy nginx. Và đặc biệt là chạy lệnh rất phiền toái. Chúng ta có thể chạy tất cả chúng chỉ cần 1 lần double click vào tập tin .bat mà thôi. Bạn thể tạo tập tin start-nginx.bat có nội dung:

    @ECHO OFF
    RunHiddenConsole.exe C:\xampp\php\php-cgi.exe -b 127.0.0.1:10000 -c c:\xampp\php\php.ini
    RunHiddenConsole.exe C:\nginx-0.8.54\nginx.exe
    SLEEP 1
    EXIT


    và tập tin tắt nginx và cgi server (stop-nginx.bat):

    @ECHO OFF
    Taskkill /IM nginx.exe /F
    Taskkill /IM php-cgi.exe /F
    SLEEP 1
    EXIT


    Chúc thành công nha!

    Chú ý:
    - Bạn nên mở Task Manager lên (Ctrl + Alt + Del, chọn Start Task Manager) kết hợp trong quá trình cài đặt. Bạn qua thẻ Processes. Khi nginx đang chạy chúng ta sẽ thấy 2 processes của nginx (nginx.exe)


    - Tương tự khi CGI của PHP (php-cgi.exe) đang chạy thì chúng ta sẽ thấy process php-cgi.exe trong Task manager.

    - Điều quan trọng là khi muốn chạy lại nginx.exe hoặc php-cgi.exe thì chúng ta phải tắt các process đó đi bằng cách chọn và bấm nút End Proccess nhầm mục đích tránh tình trạng xung đột!

    ---
    Xem chi tiết tại: http://blog.svtin.com/2011/01/cai-ng...n-windows.html
    Quote Quote

  2. #2
    Tham gia
    15-02-2008
    Bài viết
    112
    Like
    0
    Thanked 1 Time in 1 Post
    Chào bạn,

    Cảm ơn bài viết hay.
    Bạn cho hỏi thêm có soft nào tích hợp nginx + php + mysql như soft wampserver từng tích hợp apache + php + mysql.

  3. #3
    Tham gia
    08-05-2003
    Location
    thien dang
    Bài viết
    38
    Like
    0
    Thanked 0 Times in 0 Posts
    cai link chet mat tieu :

  4. #4
    Tham gia
    22-11-2006
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts

    Phần mềm NGINX + PHP + MySQL

    Quote Được gửi bởi hatvip View Post
    Chào bạn,

    Cảm ơn bài viết hay.
    Bạn cho hỏi thêm có soft nào tích hợp nginx + php + mysql như soft wampserver từng tích hợp apache + php + mysql.
    Bạn dùng winginx hoặc wt-nmp (search GOOGLE nhé)

Bookmarks

Quy định

  • 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ể sửa bài viết của mình
  •