言十年的博客

上善若水,水善利萬物而不爭

物盡其用!人盡其才!兩全其美!


windows中php环境安装,wanmp+redis,nginx反向代理

wamp 还有 nginx服务器,还有redis的安装。设置nginx为反向代理服务器。调用php交给apache处理。

##软件准备

软件安装环境windows7

mysql下载地址

http://dev.mysql.com/downloads/mysql/

apache下载地址

http://www.apachehaus.com/cgi-bin/download.plx

php下载地址

http://windows.php.net/download#php-5.6

nginx

nginx/Windows-1.10.0

http://nginx.org/en/download.html

nginx.exe -s stop                   //停止nginx

nginx.exe -s reload                //重新加载nginx

nginx.exe -s quit                     //退出nginx

redis下载

这是我同事给我的,我就放到网盘吧

只需要改改路径。然后点击bat文件启动。为了验证成功过。

@echo off

RunHiddenConsole.exe D:/iphp/phpenv/redis/redis/redis-server.exe D:/iphp/phpenv/redis/redis/redis.conf

安装与配置

nginx

点击 绿色的nginx.exe 就好了。

Apache

安装apache2.4 运行httpd.exe -k install丢失VCRUNTIME140.DLL的解决办法

https://segmentfault.com/q/1010000003750514

httpd.conf 第38行 改成自己的路径

Define SRVROOT "D:/iphp/phpenv/Apache24"

###php安装

安装redis扩展

下载对应php版本的扩展 参考链接 http://blog.163.com/fan_xy_qingyuan/blog/static/1889877482014111111283265/

下载链接https://pecl.php.net/package/redis/2.2.7/windows

我下载的是 php_redis-2.2.7-5.6-ts-vc11-x64.zip

给apache httpd.conf 下面加上

# php5 support

LoadModule php5_module D:/iphp/phpEnv/php5621/php5apache2_4.dll

AddType application/x-httpd-php .php .html .htm

# configure thepath to php.ini

PHPIniDir "D:/iphp/phpEnv/php5621"

参考链接:win7(64位)php5.5-Apache2.4-mysql5.6环境安装http://jingyan.baidu.com/article/9faa723152c5d6473d28cb47.html (ps.教程中的 LoadModule php5_module 是连着的。应该是分开的。还有AddType application/x-httpd-php)

启动的时候遇到 一个问题

httpd.exe: Syntax error on line 532 of D:/iphp/phpenv/Apache24/conf/httpd.conf:
Cannot load D:/iphp/phpEnv/php-5.6.21/php5apache2_4.dll into server: \xd5\xd2\xb
2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

解决:解决Apache/PHP无法启动的问题 http://www.xuebuyuan.com/1910896.html

也就是下载 运行时库。

####让nginx跑php

参考链接:http://jingyan.baidu.com/album/636f38bb408ee4d6b84610b9.html?picindex=8

这里注意要跑php,需要启动php-cgi.exe

由于我在公司配置过。粗心了。

执行php文件出现No input file specified.

意思是没有找到这么个文件。目录底下没有。所以配置的时候注意下面这项。

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

###mysql 安装

参考:http://blog.csdn.net/mmm333zzz/article/details/20364213 mysqld -install

D:\iphp\phpenv\mysql5.6\bin>mysqld -install
Install/Remove of the Service Denied!

请用管理员身份打开cmd再次执行

D:\iphp\phpenv\mysql5.6\bin>mysqld -install
Service successfully installed.

反向代理实现nginx+apache

把刚才配置到nginx中的解析php的配置注释掉。让apache解析。

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;
}

我在http.conf(暂时没有单独的配置httpd-vhosts.conf文件) 监听 1122端口。否则会与nginx冲突。

我们的目的是让apache处理php文件。所以我们使用 proxy_pass指向的链接是 apache也就是我们刚配置的1122端口。

location ~ \.php$ {
    proxy_pass   http://127.0.0.1:1122;
}

这次fast-cgi程序不用启动。启动nginx ,apache。执行 http://127.0.0.1/redis.php(这是我刚才验证redis的东西。)。ok!反向代理设置成功。

####附录:

这次安装的软件。安装期间的运行时库。根据自己需要安装。下面是必装的。相关软件会上传到360云盘。

分享到