当前位置:首页 > 网站技术 > windows 2008配置Nginx+PHP+Mysql

windows 2008配置Nginx+PHP+Mysql

作者:星之宇 ┊ 时间:2015-9-8 17:48 ┊ 分类: 网站技术 ┊ 阅读:9898 ┊ 评论:1

这次教程主要以windows 2008 sp2 32bit standard配置PHP 7.0RC2+Nginx 1.9.4+Mysql 5.6.26,并且开启HTTPS访问。


一、准备工作

1、Nginx+php+mysql等下载并解压:百度网盘

2、上述软件可能用到的VC++运行库下载:百度网盘

二、精简并安装Mysql

1、解压mysql-5.6.26-win32.zip到D:\mysql-5.6.26-win32,并且重命名my-default.ini为my.ini

2、删除docs、include、mysql-test、scripts和sql-bench文件夹,以及COPYING和README文件,删除剩余文件夹中pdb后缀名的文件

3、简单配置下my.ini,修改如下:

# basedir = .....
# datadir = .....
修改为:
basedir = "D:\mysql-5.6.26-win32"
datadir = "D:\mysql-5.6.26-win32\data"

4、添加mysql服务

CMD命令如下:

D:\mysql-5.6.26-win32\bin>mysqld -install MySQL --defaults-file="D:\mysql-5.6.26-win32\my.ini"
D:\mysql-5.6.26-win32\bin>net start MySQL
如果需要关闭服务,CMD命令输入“net stop MySQL”(不用输入双引号)

如果需要卸载服务,CMD命令输入“sc delete MySQL(不用输入双引号)


二、安装PHP

1、解压php-7.0.0RC2-nts-Win32-VC14-x86.zip到D:\PHP并且重命名php.ini-production为php.ini

2、修改php.ini

第725行 ; extension_dir = "ext" 先去前面的分号再改为 extension_dir = "D:\php\ext"
第735行enable_dl = Off 改为 enable_dl = On
第742行 ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
第770行 ;fastcgi.impersonate = 1 去掉前面的分号
第782行 ;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1
第879、883行,去掉前面的“;”extension=php_mysqli.dll和extension=php_pdo_mysql.dll  (支持MYSQL数据库)

3、可以去掉extension=前面的“;”开启相应的扩展

三、安装Nginx

1、解压nginx-1.9.4到D:\nginx-1.9.4并且修改D:\nginx-1.9.4\conf\nginx.conf

2、修改nginx.conf如下:

修改65-71行
        #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;
        #}
先将前面的“#”去掉,再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,这是改完后的:
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

四、BAT一键运行

1、一键运行;解压RunHiddenConsole到D,并把以下代码保存为start.bat

@echo off
echo Starting PHP FastCGI...
D:\RunHiddenConsole.exe D:\PHP\php-cgi.exe -b 127.0.0.1:9000 -c D:\PHP\php.ini
echo Starting nginx...
D:\RunHiddenConsole.exe D:\nginx-1.9.4\nginx.exe -p D:\nginx-1.9.4
echo Starting mysql...
net start MySQL

2、一件结束;把以下代码保存为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
exit

3、phpinfo输出信息

1.jpg

五、开启HTTPS访问

1、SLL免费证书可以去沃通申请,沃通免费申请地址

2、我这边申请好了,把for nginx.zip提取到D:\nginx-1.9.4\conf

3、修改D:\nginx-1.9.4\conf\nginx.conf文件

修改98-115行:
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
去掉每行前面的#,并且添加
	location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
修改后完整如下:
    server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      1_www.myxzy.com_bundle.crt;
        ssl_certificate_key  2_www.myxzy.com.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.php index.html index.htm;
        }

	location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

4、HTTPS下phpinfo输出信息(域名本地host来测试)

2.jpg

目前有 1 条评论
avatar
Andrew 2015-10-06 17:44回复1楼
一直用的centos