windows Nginx+PHP7+Mysql独立环境部署

服务器

浏览数:113

2019-3-18

Nginx安装

  1. 下载 Nginx1.13解压版下载地址:http://nginx.org/download/nginx-1.13.7.zip
  2. 解压到D:server目录下并重命名为nignx,完整目录为:D:servernginx
  3. 进入D:servernginx 双击执行nginx.exe(如执行成功,在进程中会有2个nginx进程,如失败请检查80端口是否被占用)
  4. 浏览器访问 localhost 即可访问默认目录

PHP安装

  1. 下载 PHP源码包 php-7.1.12-nts-Win32-VC14-x86.zip
  2. 解压到D:server目录下并重命名为php,完整目录为: D:serverphp
  3. 修改 D:serverphpphp.ini-development 文件名为 php.ini 至此,PHP与Nginx环境已搭建完毕!
  4. 为了把PHP在后台进程一直挂起,我们需要一个windows守护进程工具 RunHiddenConsole 下载到本地后完整目录为 D:serverRunHiddenConsole.exe ,工具的作用可以把任务放到后台执行,不用一直在前端开着一堆DOS窗口了,这里把Nginx与PHP启动停止脚本写在一个批处理脚本中。
  5. 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安装配置

  1. 下载Mysql ZIP版本 Windwos 64bit下载地址 Windwos 32bit下载地址
  2. 解压到D:server目录下并重命名为mysql,完整目录为 D:servermysql
  3. 新建一个配置文件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
  1. 保存时文件编码格式需要为ANSI(注:保存为UTF-8格式时可能会导致启动失败)
  2. 将Mysql的bin目录添加至系统环境变量Path,以WIN7为例

右键我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 ->从系统变量中找到Path
添加mysql目录下的bin所在路径到Path的末端(不要覆盖Path原值,利用一个;号与上一个path路径断开):

  1. 以管理员身份运行cmd命令行

  1. 输入命令

    • 安装:
mysqld -install
  • 初始化:
mysqld --initialize 
  • 启动服务:
net start mysql
  • 进入mysql并初始化密码:
mysql

update mysql.user set authentication_string=password('root') where user='root';

#退出mysql
exit
  1. 修改Mysql配置文件 #skip-grant-tables 去掉#号,重新启动Mysql服务
net stop mysql
net start mysql
  1. 再次登录Mysql
mysql -u root -p 
#输入设置的密码
  1. 登录成功,设置新密码
SET PASSWORD = PASSWORD('your_new_password');

  1. 到此,所有的配置已完成,PS: skip-grant-tables参数的作用。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。

本文出自个人博客 最好的安排 转载请注明出处!