• win 10安装Nginx,php,mysql 小计


    一直没有尝试Nginx作为Web服务器,时常用的是apache,在Ubuntu下,输入一些安装命令就可以把LAMP环境比较轻松的搭建起来。

    系统: windows 10 NT ,Nginx-1.14.0,PHP 7.2.5,Mysql

    nginx 下载 windows版本的压缩包,如: ,在 PHP 官网 下载,再 点击页面的 Windows downloads,就是进入下载适合运行在windows下的PHP软件包。

    我个人习惯软件安装在D盘,在D盘新建一个 wnmp 文件夹,将下载好的 Nginx 压缩包,放入 wnmp 文件夹内,解压缩之后,Nginx的路径就是 D:wnmp ginx-1.14.0

    将下载好的PHP压缩包解压到 wnmp文件夹下,文件夹重命名为 php-7.2.5 ,PHP的路径就是: D:wnmpphp-7.2.5

    再在wnmp文件夹下,新建一个 htdocs 文件夹,准备作为nginx的 root目录,路径是: D:wnmphtdocs

    一. 配置文件的修改

    进入php(就是刚才已重命名的php-7.2.5,后面将一直用 php文件夹 来代替说明)文件夹内, 复制一份 php.ini-development 文件之后,将复制之后的文件重命名为 php.ini,编辑 php.ini 文件

    1. PHP配置部分

    1. 查找 extension_dir,

    ; extension_dir = "ext" #ext扩张文件夹目录

    去掉前面的";"号,修改之后,如

    extension_dir = "D:wnmpphp-7.2.5ext"

    2. 查找 cgi.fix_pathinfo

    ;cgi.fix_pathinfo=1 #Php的CGI的设置

    去掉前面的";"号,修改之后,如

    cgi.fix_pathinfo=1

    3. 其它配置

    找到:;date.timezone = ,先去前面的分号再改为 date.timezone = Asia/Shanghai
    找到:enable_dl = Off 改为 enable_dl = On
    找到:;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
    找到:;fastcgi.impersonate = 1 去掉前面的分号
    找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1

    2. nginx的配置

    进入 nginx的文件夹内,进入conf文件夹,使用编辑器打开 nginx.conf 配置文件,

    找到:location /,

    location / {
        root   html;#可修改,默认是nginx目录下的html文件夹(指向站点的根目录)
        index  index.html index.htm;
    }

    在上面的 index 的最后面添加 index.php,修改之后如:

    location / {
        root   D:/wnmp/htdocs;
        index  index.html index.htm index.php;
        fastcgi_read_timeout 600; #配置读取cgi超时时间
    }

    再找到 location ~ .php$ ,大概在 64~65行,

    # 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 指向站点根目录。再把 /scripts 替换为 $document_root, $document_root 是指前面"root"所指的站点根目录,修改之后的效果如:

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ .php$ {
        root           D:/wnmp/htdocs;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    3. mysql 安装部分

       mysql 我是从 sohu mysql镜像站 网站下的 mysql-5.7.23-winx64.zip(个人电脑是64位的系统,所以下的64位的压缩包) 的文件,解压到 D:wnmp 文件夹下,路径像是: D:wnmpmysql-5.7.23-winx64

    将 mysql 路径放入到 电脑环境变量 PATH中,  我在win10打开环境变量 常用的方法是: 进入桌面,右键  "此电脑" -> 选择 属性 -> 点击左边菜单的 高级系统设置 就会打开环境变量窗口了

    我新建了一个用户变量,变量名为 "MYSQL_HOME",变量值为 我的Mysql文件夹路径,如下图:

    然后编辑 变量 Path 的变量值中新建一个 "%MYSQL_HOME%in",最后点击确认按钮,确认保存修改。

    在mysql 的目录(如我的电脑上安装的路径是:D:wnmpmysql-5.7.23-winx64)下建立一个 `my.ini`的文件,我放入的配置内容是

    [mysql]
    default-character-set=utf8
    [mysqld]
    basedir=D:wnmpmysql-5.7.23-winx64
    datadir=D:wnmpmysql-5.7.23-winx64data
    port=3306
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    skip-grant-tables

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [client]
    password = 123456
    port = 3306
    socket = /tmp/mysql.sock
    default-character-set=utf8

    安装 mysql

    打开cmd 窗口,进入mysql bin目录,

    安装mysql服务

    #安装mysql
    mysqld install
    # 移除mysql
    # mysqld remove

    初始化

    mysqld --initialize

    初始化完成之后,可以在刚才配置的my.ini文件中,配置的datadir中找到一个以".err"结尾的一个文件,在里可以找到一行 类似 "[Note] A temporary password is generated for root@localhost: " 字样的,后面的就是mysql root用户的密码了,如:

    在cmd 命令行中,可运行

    # 启动mysql
    net start mysql
    # 停止mysql
    # net stop mysql 

    二. 启动服务

    1. 启动 php cgi服务

    D:wnmpphp-7.2.5php-cgi.exe -b 127.0.0.1:9000 -c "D:wnmpphp-7.2.5php.ini"

    2. 启动 nginx服务,进入 nginx 目录,输入start nginx.exe 就启动了,dos 命令如:

    D:
    cd wnmp
    cd nginx-1.14.0
    start nginx.exe

    #nginx -s reload 重新加载文件
    #nginx -s stop 停止nginx

    3. 在nginx root目录下,新建一个 phpinfo.php 文件,编辑该文件,内容是:

    <?php
    phpinfo(); # 输出php信息

    4. 使用浏览器访问 : http://localhost/phpinfo.php ,将会显示 php 信息,如:

     

    三. 建立 bat 文件

    因为手动分别启动 php-cgi,nginx有点麻烦,所以通过bat 进行启动,

    1. 先下载 RunHiddenConsole.zip ,将解压出来的 RunHiddenConsole.exe 文件放入到 wnmp 目录下,新建一个 start.bat 文件,编辑该文件,内容如:

    @echo off
    echo Starting PHP FastCGI...
    D:wnmpRunHiddenConsole.exe D:/wnmp/php-7.2.5/php-cgi.exe -b 127.0.0.1:9000 -c "D:/wnmp/php-7.2.5/php.ini"
    echo Starting nginx...
    D:wnmpRunHiddenConsole.exe D:/wnmp/nginx-1.14.0/nginx.exe -p D:/wnmp/nginx-1.14.0
    echo Starging mysql...
    net start mysql

    2. 在 wnmp 文件夹下,新建一个 stop.bat 文件,编辑该文件,内容如:

    @echo off
    echo Stopping nginx...
    taskkill /F /IM nginx.exe > nul
    echo Stopping PHP FastCGI...
    taskkill /F /IM php-cgi.exe > nul
    echo Stopping mysql...
    net stop mysql

    以后就可以进入 wnmp 文件夹下,双击 start.bat 启动 nginx,php-cgi服务或者双击 stop.bat 文件,停止nginx,php-cgi,mysql服务

    参考:

    1.  windows+nginx+php运行环境部署 在安装完nginx,php-cgi之后,访问 phpinfo.php过程中,出现  
      2018/05/13 23:58:13 [error] 6120#12416: *74 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"

      核对 php.ini 的配置是否正确;以上错误是我自己的电脑安装了pptv软件导致 9000端口占用的问题,已通过当前随笔 参考的第5点解决

    2. Windows下Nginx/Php/MySQL环境配置  安装过程中大多数按照该文进行操作
    3. Windows下Nginx的启动、停止等命令  学习到 nginx 的一些常用命令
    4. win10 tomcat nginx upstream timed out 10060  解决在cmd中 ping localhost, 返回的是 [::1],不是127.0.0.1 的问题
    5. Windows下端口占用查看  解决win10安装了pptv软件,因pptv桌面版占用 9000端口,导致 php-cgi 绑定的 9000端口,nginx 无法连接到 php-cgi的9000端口
    6. windows系统mysql-5.7.19官方绿色版zip包安装教程 mysql 安装参考1,教程和截图比较详细 
    7. Mysql-5.7.20-winx64绿色版安装步骤 mysql 安装参考2
  • 相关阅读:
    过滤器排序规则
    n维立体空间建模
    将多个Sheet导入到同一个Excel文件中
    Oracle分页查询
    SSH整合逻辑图
    MD5算法原理
    Spring框架整合Struts2
    Pandas入门——Series基本操作
    Python 使用selenium+webdriver爬取动态网页内容
    Python处理json和dict
  • 原文地址:https://www.cnblogs.com/fsong/p/9043883.html
Copyright © 2020-2023  润新知