Hướng dẫn cài đặt WEMP trên Windows

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
D:
cd D:\Server\nginx

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 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:

Welcome Screen Nginx

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 ý:

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
;extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_ftp.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll
;extension=php_odbc.dll
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.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
2
3
4
5
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
error_reporting = E_ALL
display_errors = On

Khởi động php lên thôi nào :)

Mở Command Prompt và gõ các lệnh sau:

1
2
3
set PHP_FCGI_MAX_REQUESTS=0
D:
D:\Server\php74\php-cgi.exe -b 127.0.0.1:9074

Ở đâ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
2
3
4
5
6
7
8
9
10
11
12
location / {
root html;
index index.php index.html index.htm;
}

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9074;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
  1. Bỏ các dấu “#” ở trước mỗi dòng.
  2. Thêm index.php vào trước “index.html”.
  3. Thay đổi /scripts thành $document_root.
  4. 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
<?php 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.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×