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

在windows 下搭建 Nginx 服务器

2010-11-30 11:29 447 查看
1、准备的文件:

Nginx 下载地址:http://sysoev.ru/nginx/nginx-0.8.16.zip

PHP 下载地址:http://cn.php.net/distributions/php-5.2.11-Win32.zip

MySQL 下载地址:http://download.mysql.cn/download_file/zip/5.0/mysql-5.0.22-win32.zip

2、nginx需要的是cgi方式的php,所以如下几个地方是重点,否则nginx无法打开php文件


enable_dl = On

cgi.force_redirect = 0

cgi.fix_pathinfo=1

fastcgi.impersonate = 1

cgi.rfc2616_headers = 1

3、启动Nginx和PHP:


启动Nginx很简单,使用nginx目录下面的nginx.exe双击即可
。可是php的启动因为要使用cgi方式,所以有些特殊。我参照网上的方法下载了RunHiddenConsole.exe
,使用该工具用其执行的cmd窗口会自动关闭,否则你看一个CMD窗口一直在那晃来晃去,头会晕的。

创建start_php.bat,来启动php,文件内容如下:

@echo off

echo Starting PHP FastCGI...

RunHiddenConsole.exe d:/php/php-cgi.exe -b 127.0.0.1:9000
-c d:/php/php.ini

创建stop_nginx.bat,来关闭php和nginx进程,文件内容如下:

@echo off

echo Stopping nginx...

taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...

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

exit

4、nginx配置文件:(D:/nginx/conf/nginx.conf)


#user nobody;

worker_processes 1
;

error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections 64
;

}

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [
$time_local]

"$request"
'

# '$status $body_bytes_sent "$http_referer"
'

# '"$http_user_agent"
"$http_x_forwarded_for"
';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0
;

keepalive_timeout 65
;

#gzip on;

server {

listen 80
;

server_name localhost;

charset gbk;

#access_log logs/host.access.log main;

location / {

root e:/www;

index index.html index.htm index.php;

autoindex on;

}

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

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ /.php$ {

# proxy_pass http://127.0.0.1;
#}

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

#}

location ~ /.php$ {

fastcgi_pass 127.0.0.1:9000
;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME e:/www$fastcgi_script_name;

include fastcgi_params;

}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ //.ht {

# deny all;

#}

}

# another virtual host using mix of IP-, name-, and port-based configuration

#

#server {

# listen 8000
;

# listen somename:8080
;

# server_name somename alias another.alias;

# location / {

# root html;

# index index.html index.htm;

# }

#}

# HTTPS server

#

#server {

# listen 443
;

# server_name localhost;

# ssl on;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;

# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

# ssl_prefer_server_ciphers on;

# location / {

# root html;

# index index.html index.htm;

# }

#}

}

检测NginX服务器是否启动好可以 通过 查看 nginx/logs/error.log 文件信息知道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: