Windows搭建Nginx+PHP+MySQL环境(图文详解)

时间:2022-08-02 20:33:59

  由于公司项目环境需要使用Nginx(Nginx的优势在于“反向代理”和“负载均衡”等等),所以,废话不多说,开搞!

  流程:

  1. 下载安装包
  2. 安装Nginx
  3. 安装PHP
  4. 连接Nginx和PHP
  5. 编写启动脚本代替命令行启动Nginx和PHP
  6. 安装MySQL

  步骤一、安装包下载

  1. Nginx下载:url:http://nginx.org/en/download.html
    这里博主选择的稳定版,需要什么版本自己按需下载啊Windows搭建Nginx+PHP+MySQL环境(图文详解)
  2. PHP下载:url:http://php.net/downloads.php
    同上,选择自己需要的版本哦,博主的电脑是64位的,Nginx需要选择非线程安全,所以下的第一个Windows搭建Nginx+PHP+MySQL环境(图文详解)
  3. MySQL下载:url:https://dev.mysql.com/downloads/mysql/
    这里博主选择的最新版,如果想下载其他版本,可以点击页面中的“Go to Download Page>”,有更多的选择哦Windows搭建Nginx+PHP+MySQL环境(图文详解)Windows搭建Nginx+PHP+MySQL环境(图文详解)

  步骤二、安装Nginx

  1. 在你的C/D/E...盘里(随便哪一个,看你喜欢)建一个新文件夹命名为“wnmp”,来用做我们的环境部署
  2. 再进去新建四个文件夹nginx、php、mysql、www(站点)分别管理我们的各个部分
  3. 然后就可以把我们下载的nginx压缩包解压到nginx文件夹里面了

   下面是解压后的文件

    Windows搭建Nginx+PHP+MySQL环境(图文详解)

  下一步,双击“nginx.exe”,即可启动nginx,打开浏览器,输入localhost,看到下面的页面就代表安装成功了(如果没有启动成功,可能是因为端口的问题,打开E:\wnmp\nginx\conf\nginx.conf,把里面的 listen 后的端口改一下即可)

  Windows搭建Nginx+PHP+MySQL环境(图文详解)

  步骤三、安装PHP

  1. 把我们下载的php压缩包解压到E:\wnmp\php里面
  2. 将php.ini-development文件复制一份改名为php.ini
  3. 指定php的ext路径:找到
    ;extension_dir = "./ext"

    去掉前面的分号,并把里面的路径改为我们安装php文件夹中的ext目录,比如博主的 extension_dir = "E:\wnmp\php\ext"

  4. 支持Nginx:找到
    ;cgi.fix_pathinfo=1

    去掉前面的分号

  5. 支持MySQL:找到
    ;extension = php_mysql.dll 
    ;extension = php_mysqli.dll

    去掉前面的分号

  6. 启动php服务:在E:\wnmp\php 文件下以管理员身份打开cmd命令行,运行:php-cgi.exe -b 127.0.0.1:9000 -c E:/wnmp/php/php.ini(根据自己配置的端口和路径更改哦)
  7. 检测是否安装成功,管理员身份打开cmd下在E:\wnmp\php 下面执行 php -v 看到版本号即代表安装成功,如下图Windows搭建Nginx+PHP+MySQL环境(图文详解)

  步骤四、连接Nginx和PHP

 

  1. 打开文件 E:\wnmp\nginx\conf\nginx.conf(最好先做一下备份)Windows搭建Nginx+PHP+MySQL环境(图文详解)
  2. 建议更改我们的项目目录为绝对路径(博主在E:\wnmp\下新建了一个仓库“www”),如下
            location / {
                root   E:/wnmp/www/localhost;
                index  index.html index.htm index.php;
            }
  3. 去掉注释内容支持访问php项目
            location ~ \.php$ {
                root           E:/wnmp/www/localhost;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }
    变量$document_root指的是我们定义的root路径
  4. 在我们配置的目录下新建一个 E:\wnmp\www\localhost\phpinfo.php 文件,里面写上如下代码(改完配置文件nginx.conf后记得重启nginx哦)
    <?php 
        phpinfo();

    浏览器中输入 localhost/phpinfo.php ,看到下面内容即代表配置成功Windows搭建Nginx+PHP+MySQL环境(图文详解)

  步骤五、编写启动脚本代替命令行启动Nginx和PHP

  每次启动Nginx和PHP服务都去命令行手动敲真的是太累了,所以我们利用Windows的bat文件写两个脚本(启动和关闭),双击操作,简直爽的不行

  1. 下载文件RunHiddenConsole.exe,url:https://pan.baidu.com/s/1E6nnH0NL00wRnyij2RzA6Q 提取码:b490
  2. 编写启动服务文件:start.bat
    REM REM是bat文件的注释类似于php的//
    REM 设置不输出命令
    @ECHO off
    REM 设置Nginx和php-cgi的目录
    SET php_home=E:\wnmp\php\
    SET nginx_home=E:\wnmp\nginx\
    
    REM 输出状态
    ECHO Starting PHP FastCGI...
    REM 启动php-cgi -b 端口 -c php.ini位置
    REM %php_home%为获取上面set的php_home的值
    RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
    REM 输出状态
    ECHO Starting nginx...
    REM 启动Nginx -p Nginx的根目录
    RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%
  3. 编写关闭服务文件:stop.bat
    @ECHO off
    ECHO Stopping nginx...  
    REM 结束进程 /F 强制终止 /IM 指定的进程 
    TASKKILL /F /IM nginx.exe
    ECHO Stopping PHP FastCGI...
    TASKKILL /F /IM php-cgi.exe
    REM 关闭窗口
    EXIT
  4. 三个文件放到同一目录,文件里面的路径也要配置成自己的文件路径,比如博主的这样的Windows搭建Nginx+PHP+MySQL环境(图文详解)

  5. 如果一切顺利,接下来我们就可以通过双击start.bat和stop.bat文件来同时开启关闭Nginx和PHP服务了,如丝质般顺滑,哈哈哈

  步骤六、安装MySQL

  1. 解压我们下载好的MySQL安装包到E:\wnmp\mysql里面
  2. 在这里新建一个文件my.ini,再新建一个文件夹data(如果有就不需要新建了)Windows搭建Nginx+PHP+MySQL环境(图文详解)
  3. 编辑my.ini,文件内容如下
    [mysqld]
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=E:\wnmp\mysql
    # 设置mysql数据库的数据的存放目录
    datadir=E:\wnmp\mysql\data
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8
  4. 以管理员身份打开cmd,转到E:\wnmp\mysql\bin,初始化命令(会生成一个临时密码,注意把临时密码记住)

    mysqld --initialize --user=mysql --console
  5. 输入 mysqld -install 进行服务的添加

  6. 输入net start mysql启动服务
  7. 输入mysql -u root -p进行登录数据库,用你上面的密码登录
  8. 重新设置密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  再及时生效一下:flush privileges;
  9. 退出:exit,再重启一下数据库:net stop mysql;    net start mysql;
  10. 再管理员身份打开一个cmd窗口,重新登录一下,成功!大功告成啦

  

  至此,我们的wnmp环境就部署好了!如有疑问,可以留言博主哦

  感谢如此优秀的我们!