Nginx安装
解压到D:server目录下并重命名为nignx,完整目录为:D:servernginx
进入D:servernginx 双击执行nginx.exe(如执行成功,在进程中会有2个nginx进程,如失败请检查80端口是否被占用)
浏览器访问 localhost 即可访问默认目录
PHP安装
解压到D:server目录下并重命名为php,完整目录为: D:serverphp
修改 D:serverphpphp.ini-development 文件名为 php.ini 至此,PHP与Nginx环境已搭建完毕!
为了把PHP在后台进程一直挂起,我们需要一个windows守护进程工具 RunHiddenConsole 下载到本地后完整目录为 D:serverRunHiddenConsole.exe ,工具的作用可以把任务放到后台执行,不用一直在前端开着一堆DOS窗口了,这里把Nginx与PHP启动停止脚本写在一个批处理脚本中。
Nginx和PHP的批处理脚本
开启
@echo off
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
D:\server\RunHiddenConsole "D:\server\php\php-cgi.exe" -b 127.0.0.1:9000 -c "D:\server\php\php.ini"
echo Starting nginx...
D:\server\RunHiddenConsole "D:\server\nginx\nginx.exe" -p "D:\server\nginx"
停止
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
重启
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
D:\server\RunHiddenConsole "D:\server\php\php-cgi.exe" -b 127.0.0.1:9000 -c "D:\server\php\php.ini"
echo Starting nginx...
D:\server\RunHiddenConsole "D:\server\nginx\nginx.exe" -p "D:\server\nginx"
修改Nginx配置文件 将请求信息转发给 php 去进行处理
server {
listen 80;
server_name 127.0.0.1;
location / {
root D:/WWW;
autoindex on;
index index.html index.htm index.php;
autoindex_exact_size off;
autoindex_localtime on;
}
location ~ \.php$ {
root D:/WWW;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Mysql安装配置
解压到D:server目录下并重命名为mysql,完整目录为 D:servermysql
新建一个配置文件my.ini放到mysql根目录,完整路径为 D:servermysqlmy.ini
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#skip-grant-tables
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\server\mysql
# 设置mysql数据库的数据的存放目录
datadir=D:\server\mysql\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# sql_mode
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
保存时文件编码格式需要为ANSI(注:保存为UTF-8格式时可能会导致启动失败)
将Mysql的bin目录添加至系统环境变量Path,以WIN7为例
右键我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 ->从系统变量中找到Path
添加mysql目录下的bin所在路径到Path的末端(不要覆盖Path原值,利用一个;号与上一个path路径断开):
以管理员身份运行cmd命令行
输入命令
安装:
mysqld -install
初始化:
mysqld --initialize
启动服务:
net start mysql
进入mysql并初始化密码:
mysql
update mysql.user set authentication_string=password('root') where user='root';
#退出mysql
exit
修改Mysql配置文件 #skip-grant-tables 去掉#号,重新启动Mysql服务
net stop mysql
net start mysql
再次登录Mysql
mysql -u root -p
#输入设置的密码
登录成功,设置新密码
SET PASSWORD = PASSWORD('your_new_password');
到此,所有的配置已完成,PS: skip-grant-tables参数的作用。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。
本文出自个人博客