Giống như LAMP/LEMP nên mình gọi nó là WEMP thôi :)
LAMP = Linux - Apache - MySQL - PHP
LEMP = Linux - Nginx (Phát âm là Enginex) - MySQL - PHP
Tương tự:
WAMP = Windows - Apache - MySQL - PHP
WEMP = Windows - Nginx (Phát âm là Enginex) - MySQL - PHP
Cài đặt Nginx
Các bạn vào đây tải phiên bản (Stable) mới nhất nhé http://nginx.org/en/download.html
Sau đó giải nén nó ra. Ở đây mình sẽ để trong thư mục D:\Server\nginx cho tiện theo dõi.
Bây giờ bạn chỉ cần chạy file nginx.exe lên là xong.
Ngoài ra 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.
Mở Command Prompt lên:
1 | D: |
Sau khi khởi động nginx xong. Bạn hãy mở trình duyệt lên và truy cập vào http://localhost
Nếu nó ra như thế này thì là ổn:
Nếu gặp lỗi thì để lại bình luận bên dưới để được hỗ trợ nhé.
Cài đặt PHP
Tiếp theo bạn cần cài đặt PHP trên Windows. Và chạy PHP thông qua CGI/FastCGI để cho Nginx giao tiếp và xử lý các file *.php
Các bạn vào đây tải phiên bản phù hợp nhé https://windows.php.net/download/
Lưu ý:
- 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
- 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
- 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
Cụ thể hơn các bạn có thể vào đây để tìm hiểu thêm: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
Các bạn giải nén nó ra và lưu vào thư mục tương ứng. Ví dụ PHP 7.4 thì lưu trong thư mục php74, PHP 5.6 thì lưu trong thư mục php56
Ngay tại thời điểm này thì mình chọn bản mới nhất PHP 7.4.4 - VC15 x64 Thread Safe Nên mình lưu vào thư mục là D:\Server\php74
Mình có thể tải nhiều phiên bản PHP khác nhau để trải nghiệm hoặc để phục vụ mục đích chạy nhiều phiên bản PHP trong quá trình dev.
Cấu hình php.ini
Bạn vào trong thư mục php vừa giải nén, copy file php.ini-production và đổi tên thành php.ini
Theo mặc định thì cấu hình sẽ thiếu rất nhiều thứ, nên mình cần phải chỉnh lại một tí.
Bật các extension cho PHP
Mở file php.ini và tìm đến dòng sau và xóa dấu “;” ở trước dòng đó:
1 | extension_dir = "ext" |
Để bật các extension (modules) cho PHP, bạn 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.
Đây là cấu hình mẫu của mình dùng để dev Laravel.
1 | ;extension=php_bz2.dll |
Ngoài ra các bạn có thể chỉnh lại một số cấu hình trong php.ini để tiện cho việc dev như sau:
1 | memory_limit = 256M |
Khởi động php lên thôi nào :)
Mở Command Prompt và gõ các lệnh sau:
1 | set PHP_FCGI_MAX_REQUESTS=0 |
Ở đây mình sẽ cho php-cgi listen ở port 9074. Tương ứng nếu php 7.3 thì listen ở port 9073.
Lý do là mình sẽ dùng để chạy nhiều phiên bản PHP cùng một lúc.
Cấu hình PHP FastCGI cho Nginx
Mở file nginx.conf trong D:\Server\nginx\conf, tìm đến đoạn này và chính sửa lại như sau:
1 | location / { |
- Bỏ các dấu “#” ở trước mỗi dòng.
- Thêm index.php vào trước “index.html”.
- Thay đổi /scripts thành $document_root.
- Thay đổi 127.0.0.1:9000 thành 127.0.0.1:9074 để chạy PHP 7.4 hoặc 127.0.0.1:9073 để chạy PHP 7.3 như ở trên mình đã đề cập.
Kiểm tra xem Nginx và PHP đã chạy đúng hay chưa
Tạo một file phpinfo.php trong thư mục D:\Server\nginx\html với nội dung như sau để test php:
1 | phpinfo(); |
Bây giờ, bạn thử start nginx
hoặc nginx -s reload
lại và vào địa chỉ http://localhost/phpinfo.php
để test.
Cài đặt MySQL trên Windows
Tiếp theo, các bạn cần cài đặt MySQL hoặc MariaDB để xử lý database.
Hướng dẫn cài đặt MySQL trên Windows
Hướng dẫn cài đặt MariaDB trên Windows
Ở bài sau mình sẽ hướng dẫn tiếp:
- Cách cài đặt để Nginx, PHP, MySQL tự khởi động cùng Windows.
- Cài đặt vhost cho Nginx.
- Cấu hình Wildcard DNS với nip.io để tự động map với các project tương ứng.