Nginx là webserver được sử dụng rộng rãi bởi các tính năng tuyệt vời của nó. Bạn có thể cài đặt Nginx, PHP và MySQL trên Windows để trải nghiệm.
Nếu như bạn đã chạy webserver ở localhost trên máy tính để thử nghiệm các trang web trên Windows, chắc hẳn bạn đã sử dụng qua Apache thông qua XAMPP, Apache Lounge… Nếu bạn yêu thích Nginx, bạn cũng có thể cài đặt Nginx trên Windows một cách dễ dàng, thậm chí còn dễ hơn cài đặt trên CentOS hay Ubuntu. Nếu bạn chưa từng biết đến Nginx hoặc chưa sử dụng nó, bạn có thể trải nghiệm nó ngay trên Windows của mình.
Để cho việc truy cập vào các thư mục cài đặt và cấu hình của Nginx, PHP và MySQL, bạn nên tạo một thư mục để chứa tất cả chúng. Ở đây mình sẽ tạo một thư mục là Web trên ổ D, các bạn có thể lưu nó vào USB hoặc bất cứ đâu.
- Cài đặt Nginx
- Cài đặt PHP trên Windows
- Cài đặt MySQL
- Start và stop nhanh cho Nginx, PHP
Cài đặt Nginx
Đầu tiên bạn cần phải tải bản Nginx cho Windows và giải nén ra ở bất kỳ đâu mà bạn muốn. Mình sẽ giải nén và đổi tên thư mục thành nginx cho nó dễ nhìn và copy vào D:\Web, bạn sẽ có đường dẫn thư mục của Nginx là D:\Web\nginx.
Bây giờ bạn có thể chạy Nginx bằng cách chạy file nginx.exe trong thư mục D:\Web\nginx. Bạn cũng có thể khởi động Nginx, reload hoặc stop Nginx bằng cách sử dụng lệnh qua cmd.
Để quản lý Nginx bằng lệnh trong cmd, bạn nên đi đến thư mục root của Nginx. Mở Command Prompt hoặc run cmd:
cd /d d:\Web\nginx
Sau khi đã di chuyển đến thư mục root của Nginx, bạn có thể sử dụng các lệnh sau:
start nginx # Khởi động nginx nginx -s stop # Dừng nginx nginx -s quit # Thoát nginx, cái này là thoát hết ứng dụng Nginx đang chạy nginx -s reload # Load lại nginx khi bạn thay đổi cấu hình của Nginx nginx -s reopen # Mở file logs
Sau khi khởi động nginx, bạn hãy vào //localhost xem sao.
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.Thank you for using nginx.
Cấu hình để Nginx chạy PHP FastCGI trên Windows
Cũng như Linux CentOS hay Ubuntu, bạn có thể chạy PHP thông qua FastCGI bằng giao thức TCP. Để Nginx có thể giao tiếp với PHP thông qua FastCGI bạn cần chỉnh sửa lại cấu hình file nginx.conf.
Mở file nginx.conf trong D:\Web\nginx\conf, tìm đến đoạn này và chính sửa lại như sau:
location / { root html; index index.php index.html index.htm; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
- Loại bỏ dấu “#” ở trước mỗi dòng trên.
- Thêm index.php vào “location /“.
- Thay đổi /scripts thành $document_root.
127.0.0.1:9000 là nơi PHP FastCGI sẽ xử lý các file PHP.
Tạo một file phpinfo.php trong thư mục D:\Web\nginx\html với nội dung như sau để test php:
Bây giờ, bạn thử start nginx
hoặc nginx -s reload
lại và vào địa chỉ
//localhost/phpinfo.php
để test.
Nếu bạn gặp lỗi 504 Gateway Time-out như này là do bạn chưa cài đặt PHP trên Windows hoặc chưa cấu hình đúng cách. Bạn cần phải cài đặt PHP và cấu hình ở bước tiếp theo.
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, nginx.
Cài đặt PHP trên Windows
Ở đây mình sẽ hướng dẫn bạn cài đặt PHP trên Windows và chạy PHP thông qua CGI/FastCGI trên một địa chỉ TCP như đã cấu hình cho Nginx.
Bạn vào trang PHP cho Windows và download bản PHP mà bạn muốn về máy. Hiện tại đã có phiên bản PHP 7, bạn có thể tải về cài đặt để trải nghiệm cũng được. Ở đây mình sẽ chọn bản PHP 7 VC15 x64 Thread Safe.
- Nếu bạn download bản VC9 thì bạn cần phải cài đặt Visual C++ Redistributable for Visual Studio 2008 SP1 [64 bit hoặc 32 bit].
- Nếu bạn download bản VC11 thì bạn cần phải cài đặt Visual C++ Redistributable for Visual Studio 2012 [64 bit hoặc 32 bit].
- Nếu bạn download bản VC15 thì bạn cần phải cài đặt Visual C++ Redistributable for Visual Studio 2017 [64-bit hoặc 32-bit].
Các bạn tải và cài đặt các bản Visual C++ 32 bit hoặc 64 bit đúng theo bản PHP mà bạn chọn nhé.
Giải nén file ZIP của PHP mà bạn đã download ra một thư mục mới, ở đây mình chọn thư mục php7. Nếu bạn tải bản PHP 5 thì có thể để tên thư mục là php5 [hoặc là download và cài đặt cả hai]. Sau đó copy thư mục php7 này vào D:\Web ngang hàng với thư mục root của Nginx để cho dễ quản lý nhé. Sau kgi giải nén và copy, bạn sẽ có thư mục root PHP là D:\Web\php7.
Tạo file php.ini
Để tạo file php.ini cho PHP, bạn vào thư mục root D:\Web\php7, copy file php.ini-production thành một file mới và đổi tên thành php.ini. Đây sẽ là file cấu hình cho PHP của bạn.
Cấu hình để bật các extension cho PHP
Để PHP của bạn hỗ trợ các tính năng hay các function mà bạn muốn để chạy trang web, bạn cần phải bật các extension cho PHP. Các PHP extension hay còn gọi là PHP modules nằm trong thư mục ext, bạn cần phải khai báo nó trong php.ini.
Mở file php.ini và tìm đến dòng sau và xóa dấu “;” ở trước dòng đó:
extension_dir = "ext"
Để bật các extension [modules] cho PHP, tìm đến các dòng ;extension= tương ứng với các module mà bạn muốn bật và xóa dấu “;” ở trước. Ví dụ ở đây mình sẽ bật module php_curl, php_fileinfo, php_gd2, php_mysqli như sau:
extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_mysqli.dll
Như vậy là xong phần tạo file php.ini và bật các module cần thiết cho PHP của bạn. Đừng có quên lưu file php.ini lại nhé.
Cấu hình PHP FastCGI cho Nginx
Trong thư mục root PHP [D:\Web\php7], bạn sẽ nhìn thấy file php-cgi.exe. Bạn cần phải chạy file này trên một địa chỉ TCP giống như đã khai báo ở mục fastcgi_pass là 127.0.0.1:9000.
Mở Command Prompt hoặc run cmd:
set PHP_FCGI_MAX_REQUESTS=0
d:
d:\Web\php7\php-cgi.exe -b 127.0.0.1:9000
Bây giờ vào //localhost/phpinfo.php để kiểm tra xem nginx đã chạy được PHP chưa.
Nếu bạn thấy ở mục Server API là CGI/FastCGI thì bạn đã chạy PHP FastCGI cho Nginx thành công.
Cài đặt MySQL trên Windows
MySQL là một trình quản lý cơ sở dữ liệu phổ biến, bạn có thể dễ dàng cài đặt MySQL trên Windows. Bạn cũng có thể cài đặt MariaDB thay vì cài đặt MySQL để có được hiệu suất tốt hơn.
Start và stop nhanh cho Nginx, PHP
Nếu bạn không quen sử dụng lệnh để start và stop Nginx, PHP thì bạn có thể thay thế bằng cách sử dụng các script.
Khi start PHP FastCGI trên TCP, bạn cần phải giữ cửa sổ Command Prompt để PHP có thể làm việc. Nếu bạn muốn ẩn cửa sổ này mà không làm PHP mất kết nối, bạn có thể sử dụng tiện ích RunHiddenConsole.
- Download RunHiddenConsole, giải nén và copy file RunHiddenConsole.exe vào D:\Web.
- Tạo file start-nginx.bat với nội dung như sau:
@ECHO OFF
echo Starting PHP FastCGI…
set PATH=D:\Web\php7;%PATH%
set PHP_FCGI_MAX_REQUESTS=0
D:\Web\RunHiddenConsole.exe D:\Web\php7\php-cgi.exe -b 127.0.0.1:9000
echo .
echo Starting Nginx…
cd /d D:\Web\nginx
start nginx
ping 127.0.0.1 -n 1>NUL
echo .
echo .
echo .
ping 127.0.0.1 >NUL
EXITBạn chỉ cần click file start-nginx.bat để start Nginx và PHP FastCGI.
- Tạo file stop-nginx.bat với nội dung như sau:
@ECHO OFF
echo Stopping Nginx…
taskkill /f /IM nginx.exe
echo Stopping PHP FastCGI…
taskkill /f /IM php-cgi.exe
echo.
EXITChạy file stop-nginx.bat để stop Nginx và PHP FastCGI.
Vậy là bạn đã hoàn thành việc cài đặt Nginx, PHP và MySQL trên Windows một cách dễ dàng. Bây giờ chỉ việc trải nghiệm theo cách của bạn thôi.
Chúc bạn thành công. Nếu có lỗi gì thì để lại bình luận bên dưới mình sẽ trợ giúp nhé.