您的位置:首页 > 运维架构 > Nginx

windows下手动搭建PHP+Nginx+Mysql

2012-10-24 21:09 375 查看
首先还是下载

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

php : http://windows.php.net/download/

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

nginx 选择zip的压缩包,如果你下了gz的压缩包你会发现你找不到一个能执行的东西,gz对应的linux系统的版本,需要编译后才能安装的

对路径要求比较严格的只有nginx,因为这东西最开始就是为了linux下部署用的

mysql这个数据库比较简易,随便下载一个exe的就可以下一步下一步的安装了,这里我用的是很久以前下的一个版本 mysql-noinstall-5.1.44-win32.zip

对于这个版本,仅仅需要解压缩到硬盘里,然后进入bin目录,如我放在c盘下

D:\mysql\bin>mysqld -install 执行了 mysqld -install后他就会自动添加服务并且下次启动的时候也能自动开启3306端口的mysql服务

window默认添加服务后不会自动启动所以需要

D:\mysql\bin>net start mysql 将服务开启

后面需要做的是给mysql的root一个密码用来登录

D:\mysql\bin>mysql -u root -p

Enter password: ******

php的安装也是比较简单的,下载、解压缩

我为了方便管理都放到了d盘的server目录中 D:\server\php 这里有php.ini

太多关于php.ini的修改就不提了主要是将里面的

extension_dir = "./ext/" 这个参数修改了,否则你会发现很多dll即使在 ini文件中将分号去掉也是不起作用的,主要就是 ext路径没有被识别到的原因

通常情况下启动了php后会有一个黑窗口,为了让php能在后台运行我使用了RunHiddenConsole.exe 这个文件

新建一个 bat文件和RunHiddenConsole.exe在同一个文件夹中

Bat代码

@echo off

echo Starting PHP FastCGI...

RunHiddenConsole.exe D:\server\php\php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini

nginx

在win下需要注意的是,nginx必须在全英文的路径下才能启动,对于路径中有中文的情况下是无法启动的。

这里我把nginx放到了D:\server\nginx

需要修改的配置文件是nginx目录下的conf文件夹中的配置

nginx.conf 这个文件是启动的主要配置文件,我不建议对这个文件进行大的改动

在最后一个大括号前加入

include vhost.conf;

使用include方式加载我们需要定制的启动

Vhost.conf代码

server {

listen 80;

server_name localhost;

#charset koi8-r;

#=====文字编码

#access_log logs/host.access.log main;

location / {

#root html; #这个是默认使用的路径,也就是nginx目录中的文件夹

root D:\server\www; #我指向到了其他目录

#是否禁止列出目录

autoindex on;

#Nginx目录自动加斜线:

if (-d $request_filename){

rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;

}

index index.html index.htm index.php;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ \.php$ {

root d:\server\www; #对于php文件的解析 要和上面的root同级否则会有问题

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME d:\server\www\$fastcgi_script_name;

include fastcgi_params;

}

}

备注:nginx.conf 中关于 80 的server需要注释掉

关于nginx的启动:nginx没有常驻的窗口显示,当你双击打开了nginx.exe后服务器便启动了。在任务管理器中可以看到两个nginx的进程

关闭的方式只能通过win的命令方式进行关闭。

这里我把同事关闭nginx和php的命令也都写出来了 保存为bat就可以了

Cmd代码

@echo off

echo Stopping nginx...

taskkill /F /IM nginx.exe >nul

echo Stopping PHP FastCGI...

taskkill /F /IM php-cgi.exe >nul

exit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: