日期:2014-05-16  浏览次数:20935 次

windows下使用Nginx(偷来的)

Nginx ("engine x") 是一款高性能的,轻量级的HTTP Web 服务器 和 反向代理服务器及电子邮件 IMAP/POP3/SMTP 代理服务器。

Nginx 是由俄罗斯的程序设计师 Igor Sysoev 所开发,为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过四年多时间了,Igor 将源代码以类BSD许可证的形式发布。

Nginx 发布四年来,Nginx 已经因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了Nginx 超越Apache的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多。

目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;新近发现 Nginx 技术在国内日趋火热,越来越多的网站开始应用部署Nginx。

一、首先去官网下载 nginx1.0.11的Windows版本,官网下载:http://nginx.org/download/nginx-1.0.11.zip

下载到软件包后,解压 nginx-nginx1.0.11.zip 包到你喜欢的根目录,并将目录名改为nginx。

然后,执行下列操作:

cd nginx

start nginx

这样,nginx 服务就启动了。打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入 http://127.0.0.1/? 就可以看到nginx的欢迎页面了,非常友好

?nginx -s stop????????? // 停止nginx
nginx -s reload?????? // 重新加载配置文件
nginx -s quit????????? // 退出nginx

二、接下来就是配置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? 1024;
}


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;
??? upstream apphost{
?????? server localhost:7002;
??? }
??? server {
??????? listen?????? 6110;
??????? server_name? localhost;

??????? #charset koi8-r;

??????? #access_log? logs/host.access.log? main;

???????? location / {
??????????????proxy_set_header Host $host:6110;?
??????????????proxy_set_header X-Real-IP $remote_addr;
????????????? proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
????????????? proxy_pass http://applist;
????????? }
??????? #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;
??????? #}

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