网盘下载:
链接: https://pan.baidu.com/s/1eR81ZCe 密码: zj68
解压后移动到 d:\wnmp 目录下,运行 service.bat
(双击运行)。更多内容查看 readme.md
。
手动创建
环境:操作系统 win7,安装目录 d:\wnmp 。
nginx
1、下载 nginx,解压后改名到 d:\wnmp\nginx 目录下。
2、编辑 c:\wnmp\nginx\config\nginx.conf
:
解除以下行的注释:
#error_log logs/error.log;
#pid logs/nginx.pid;
在 http 块首添加以下行:
upstream php_processes {
server 127.0.0.1:9000 weight=1;
}
在最后一个 server 块之后添加以下行:
server_names_hash_bucket_size 64; #server_name长度限制
server_names_hash_max_size 1024; #server_name条数限制
include ../../vhosts/*.conf;
php
1、下载 php,考虑到兼容性 和 运行模式,应该下载 x86
nts
版本。解压后改名到 d:\wnmp\php 目录下。
2、复制 d:\wnmp\php\php.ini-development
到 d:\wnmp\php\php.ini
,并编辑此文件:
生产环境请复制
php.ini-production
。
解除以下行的注释:
; extension_dir = "ext"
;cgi.fix_pathinfo=1
修改 cgi.fix_pathinfo 值
cgi.fix_pathinfo=0
其他配置根据需求自行配置
php-7.0-Win32
需要VC14-x86
运行库。
mariadb
1、下载 mariadb,选择 win32.zip
,解压后改名到 d:\wnmp\mariadb 目录下。
2、可以安全删除以下目录和文件:bin\debug
,bin\*.pdb
,bin\*.pl
,include
,lib
,mysql-test
,sql-bench
,wsrep.ini
。
3、创建文件 d:\wnmp\mariadb\php.ini
:
[mysqld]
basedir=./
datadir=./data
port=3306
innodb_buffer_pool_size=255M
character-set-server=utf8
default-storage-engine=MyISAM
#支持 INNODB 引擎模式。修改为 default-storage-engine=INNODB 即可。
#如果 INNODB 模式如果不能启动,删除data目录下ib开头的日志文件重新启动。
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=512
query_cache_size=0
table_cache=256
tmp_table_size=18M
thread_cache_size=8
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=47M
innodb_log_file_size=24M
innodb_thread_concurrency=8
[client]
port=3306
4、默认账号 root
,空密码。
安装服务
1、下载 nssm,这是用来将 nginx 和 php-cgi 安装到到 windows 服务中的包裹程序,解压后将 32位
的 nssm.exe
移动到 d:\wnmp 目录下。
2、添加 d:\wnmp\service.bat
文件,添加以下代码:
@echo off
set root=d:\wnmp
set newPath=%path%;%root%\php;%root%\tools;%root%\tools\instantclient_12_2
:top
@clear
@cls
echo.
echo ======== CONTROL PANEL ========
echo.
echo SERVICE NGINX+PHP MARIADB
echo ------------- --------------- --------------
echo i: install 1: start 4: start
echo r: remove 2: stop 5: stop
echo c: check 3: restart 6: restart
echo.
echo -----------------------------------------------
echo p: listening port s: locale service e: exit
echo.
echo.
echo Nginx Status:
nssm status wnmp_nginx
echo.
echo PHP-CGI Status:
nssm status wnmp_php
echo.
echo Mariadb Status:
nssm status wnmp_db
echo.
set /p choice=choose one:
if "%choice%"=="i" (
@clear
@cls
nssm install wnmp_nginx %root%\nginx\nginx.exe
nssm set wnmp_nginx AppDirectory %root%\nginx
nssm set wnmp_nginx DisplayName Wnmp Nginx
nssm set wnmp_nginx Start SERVICE_AUTO_START
echo.
nssm install wnmp_php %root%\php\php-cgi.exe -b 127.0.0.1:9000
nssm set wnmp_php AppDirectory %root%\php
nssm set wnmp_php DisplayName Wnmp PHP-CGI
nssm set wnmp_php Start SERVICE_AUTO_START
echo.
nssm install wnmp_db %root%\mariadb\bin\mysqld.exe
nssm set wnmp_db AppDirectory %root%\mariadb
nssm set wnmp_db DisplayName Wnmp MariaDB
nssm set wnmp_db Start SERVICE_AUTO_START
echo.
rem 注意:除了win7以外的其他系统可能需要删除以下代码段 vvv
echo %path%|findstr /i %root%\tools > nul
if errorlevel 1 (
echo Set environment path...
setx /m path "%newPath%" > nul
set path=%newPath%
echo success.
)
rem 可能需要删除的代码段 ^^^
timeout /t 5
goto top
) else if "%choice%"=="r" (
@clear
@cls
nssm remove wnmp_nginx confirm
nssm remove wnmp_php confirm
nssm remove wnmp_db confirm
echo.
timeout /t 5
goto top
) else if "%choice%"=="c" (
goto top
) else if "%choice%"=="1" (
@clear
@cls
nssm start wnmp_php
echo -------------------------------------------
nssm start wnmp_nginx
echo.
timeout /t 5
goto top
) else if "%choice%"=="2" (
@clear
@cls
nssm stop wnmp_php
echo -------------------------------------------
nssm stop wnmp_nginx
echo.
timeout /t 5
goto top
) else if "%choice%"=="3" (
@clear
@cls
nssm restart wnmp_php
echo -------------------------------------------
nssm restart wnmp_nginx
echo.
timeout /t 5
goto top
) else if "%choice%"=="4" (
@clear
@cls
nssm start wnmp_db
echo.
timeout /t 5
goto top
) else if "%choice%"=="5" (
@clear
@cls
nssm stop wnmp_db
echo.
timeout /t 5
goto top
) else if "%choice%"=="6" (
@clear
@cls
nssm restart wnmp_db
echo.
timeout /t 5
goto top
) else if "%choice%"=="p" (
@clear
@cls
echo netstat -ano ^| findstr "LISTENING"
echo.
netstat -ano | findstr "LISTENING"
echo.
pause
goto top
) else if "%choice%"=="s" (
start "" "services.msc"
goto top
) else if "%choice%"=="e" (
exit
) else (
goto top
)
2、运行该文件(双击运行),按屏幕提示安装、启动服务。
整合 phpMyAdmin
1、下载 phpMyAdmin,解压后改名到 d:\wnmp\nginx\html\db 目录下。
2、编辑 d:\wnmp\nginx\conf\nginx.conf
:
在 80 端口的 server 块中,找到 “location /” 块,在 index 后面添加 “index.php”,
然后把以下代码添加到后面:
## Regular PHP processing.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass php_processes;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
3、重启服务,使用 localhost/db
访问。
创建虚拟目录
1、创建文件 d:\wnmp\vhosts\8080_demo.conf
:
server {
listen 8080; # IPv4
server_name localhost;
access_log logs/8080_demo_access.log;
error_log logs/8080_demo_error.log;
root "D:\www\demo";
index index.php index.html index.htm;
location / {
## rewrite
try_files $uri $uri/ /index.php?$query_string;
## Regular PHP processing.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass php_processes;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
## Static files
location ~* \.(?:css|gif|htc|ico|js|jpe?g|png|swf)$ {
expires max;
log_not_found off;
## No need to bleed constant updates. Send the all shebang in one
## fell swoop.
tcp_nodelay off;
## Set the OS file cache.
open_file_cache max=1000 inactive=120s;
open_file_cache_valid 45s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
}
## Keep a tab on the 'big' static files.
location ~* ^.+\.(?:ogg|pdf|pptx?)$ {
expires 30d;
## No need to bleed constant updates. Send the all shebang in one
## fell swoop.
tcp_nodelay off;
}
} # / location
}
2、创建 d:\www\demo\index.php
:
<?php phpinfo();
3、重启服务,即可访问 localhost:8080
。
配置 oracle 12 开发环境
1、下载 instant client(下载页 – Instant Client – Instant Client for Microsoft Windows (32-bit) – Instant Client Package – Basic),解压后改名到 d:\wnmp\tools\instantclient_12_2
。
2、配置环境变量 PATH
,添加新的目录:d:\wnmp\tools\instantclient_12_2
,使用 ;
分隔每个目录。
3、配置 php.ini
:
解除以下行的注释:
;extension=php_oci8_12c.dll
4、重启服务。