第一部分:准备工作。(系统:Windows 10)
1.首先是下载软件。
NGINX-1.9.7官网下载:http://nginx.org/en/download.html
PHP5.6.16版本下载地址:http://windows.php.net/download/
Mysql5.7.12版本下载地址:http://www.mysql.com/downloads/mysql/
解决windows各种缺少.dll文件问题:工具下载地址
2.安装mysql | mariaDB。
1)将解压目录下默认文件 my-default.ini 添加配置:
#绑定IPv4和3306端bind-address = 127.0.0.1port = 3306
# 设置mysql的安装目basedir=
# 设置mysql数据库的数据的存放目datadir=
# 允许最大连接数max_connections=200
#设置默认字符集为utf8
default-character-set=utf8
2)右击我的电脑-->属性-->高级-->环境变量,在path里面添加mysql bin目录的路径。
选择环境变量,在环境变量中的Path路径下输入你的MySQL路径就ok了。注意如果你的用户环境变量中也有Path,那么也要将其填入。
这是默认安装的路径D:\mysql-5.7.11-winx64\bin
3)将mysql注册为windows系统服务
1)从控制台进入到MySQL解压目录下的 bin 目录下: 2)输入服务安装命令: mysqld -install MySQL --defaults-file="D:\mysql-5.7.11-winx64\my-default.ini"
#移除服务命令为:mysqld -remove
启动MySQL服务
方法一: 启动服务命令为:net start mysql 方法二: 打开管理工具 服务,找到MySQL服务。 通过右键选择启动或者直接点击左边的启动来启动服务。
MSQL服务无法启动。
服务没有报告任何错误。
请键入NET HELPMSG 3534 以获得更多的帮助。
解决方案:
mysqld --initialize 初始化data目录即可
b.打开命令行,转到mysql的bin目录下,输入:mysqld -nt --skip-grant-tablesMySQL 服务正在停止.MySQL 服务已成功停止。
然后回车,如果没有错误信息,就行了;注:skip-grant-tables参数用了之后,就可以跳过登录校验;
update
mysql.
user
set
authentication_string=
password
(
'新密码'
)
where
user
=
'root'
and
Host =
'localhost'
;
3.解压NGINX和PHP到你自己安装位置。这里我在C盘新建一个文件夹:wnmp(windows,ngnix,myspq,php),把下面的软件安装到这个文件夹里面。
NGINX目录C:\wnmp\nginx
PHP目录C:\wnmp\php
第二部分:安装nginx
1.打开C:\nginx目录,运行该文件夹下的nginx.exe
2.测试是否启动nginx。打开浏览器访问http://localhost 或 http://127.0.0.1,看看是否出现“Welcome to nginx!”,出现的证明已经启动成功了。没有启动的话,看看80端口有占用没。
注意:该网站的默认目录在“C:\wnmp\nginx\htm”l下
第三部分:安装php(这里主要讲nginx配置启动php,以cgi运行php)
nginx配置文件是conf文件夹里的nginx.conf
1.修改大概第43~45行之间的
location /{
root html;
index index.html index.htm;}
修改网站文件的路径,以及添加index.php的默认页。
location / { root D:/wnmp/nginx-1.5.8/html; index index.html index.htm inde.php; }
2.支持php的设置
修改大概在第63-71行的
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
先将前面的“#”去掉,同样将root html;改为root C:/wnmp/nginx-1.5.8/html;。再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,这是改完后的:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root C:/wnmp/nginx-1.5.8/html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # include fastcgi_params; #}
3.C:\wnmp\php\ext下修改php.ini-development文件,将文件名修改为php.ini,打开php配置文件php.ini,保存即可。
搜索“extension_dir”,找到: e;xtension_dir = "ext" 先去前面的分号再改为 extension_dir = "C:\wnmp\php\ext"
搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai
搜索“enable_dl”,找到:enable_dl = Off 改为 enable_dl = On
搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分号
搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1
搜索“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll 去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll (支持MYSQL数据库)
其他的配置请按照自己的需求更改。
第三部分试运行以及编辑运行配置文件
C:\wnmp\php-5.5.7-nts-Win32-VC11-x86>php-cgi.exe -b 127.0.0.1:9000-c C:\wnmp\php-5.5.7-nts-Win32-VC11-x86\php.ini
重新运行nginx.exe。
C:\wnmp\nginx-1.5.8\html下新建一个phpinfo.php,
<?php phpinfo(); ?>
访问http://localhost/phpinfo.php
或者http://127.0.0.1/phpinfo.php
出现如下的信息就说明php已经成功安装:
测试页面index.php
出现如下信息表示连接数据库成功
下载一个RunHiddenConsole.exe,百度网盘下载地址。
开启php-cgi和nginx.exe,保存为start.bat
@echo off echo Starting PHP FastCGI... C:\wnmp\nginx\RunHiddenConsole.exe C:\wnmp\PHP\php-cgi.exe -b 127.0.0.1:9000-c D:\PHP\php.ini echo Starting nginx... C:\wnmp\nginx\RunHiddenConsole.exe D:/nginx/nginx.exe -p D:/nginx
停止php-cgi和nginx.exe,保存为stop.bat
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit