如何在Windows上配置并运行Nginx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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版本,下载到软件包后,解压 nginx-nginx1.0.11.zip 包到你喜欢的根目录,并将目录名改为nginx。
然后,执行下列操作:
cd nginx
start nginx
这样,nginx 服务就启动了。打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入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;
server
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~* software/(.*).*\.(jpg|rar)
expires 21d;
root d:/temp/;
access_log d:/temp/soft.3g.cn_nginx_s3gd-205.log;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path d:/temp/;
proxy_redirect off;
proxy_set_header Host 112.25.10.140;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
if ( !-e $request_filename)
proxy_pass http://112.25.10.140:80;
location /
root html;
index index.html index.htm;
#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 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 HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location /
# root html;
# index index.html index.htm;
#
#
参考技术A 安装完成后修改配置文件即可。参考http://www.cnblogs.com/wenanry/archive/2012/01/18/2325140.html
如何在Windows上运行带有Node.js的Nginx?
我想在Windows上安装Nginx,并运行两个节点应用程序。我怎样才能做到这一点?
我试图下载Nginx 1.6.3,但我没有找到关于如何在Windows上运行的相关内容。仅适用于Linux。我认为节点应该有一些模块。
任何建议都会有用!
答案
我从未在Windows上运行Nginx,但官方文档说明了:http://nginx.org/en/docs/windows.html。
要使用Nginx运行两个节点应用程序,必须创建一个代理。这是如何为此更改nginx.conf文件的示例:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
access_log C:varlog
ginxaccess.log;
location ~ ^/(javascripts|stylesheets|images) {
root C:app1public;
expires max;
}
location / {
proxy_pass http://localhost:3000;
}
}
server {
listen 81;
server_name localhost;
access_log C:varlog
ginxaccess.log;
location ~ ^/(javascripts|stylesheets|images) {
root C:app2public;
expires max;
}
location / {
proxy_pass http://localhost:3001;
}
}
}
在这种情况下,有两个节点应用程序,一个在端口3000上运行,另一个在端口3001上运行--Nginx用作代理。
进一步的文件:https://www.nginx.com/blog/nginx-nodejs-websockets-socketio/。
在您的情况下,配置文件本地化为:C:
ginx_v1_6conf
ginx.conf
备份默认文件并使用我发布的内容更新内容。
最后,如果节点服务器和Nginx服务器正在运行,您可以通过localhost
(默认端口80)和localhost:81
测试反向代理。
另一答案
以下是有关如何为Windows安装nginx的一些说明:
http://nginx.org/en/docs/windows.html
以上是关于如何在Windows上配置并运行Nginx的主要内容,如果未能解决你的问题,请参考以下文章