加入收藏繁體中文网站地图Rss

微信福利群|微信AV福利群2016|微信黄群微信号2016|微信宅男福利群|微信交友群二维码2016

您现在的位置是:

微信福利群|微信AV福利群2016|微信黄群微信号2016|微信宅男福利群|微信交友群二维码2016>>网站安全>>列表页

时间:2013-01-02 17:31:00 点击: 58
内容简介:

一、nginx软件简介:Nginx是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意

一、nginx软件简介:

  Nginx 是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last. fm 描述了成功并且美妙的使用经验。     

  Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

二、nginx的安装与配置:

1、下载nginx软件,软件下载地址:http://soft.huweishen.com/action/search.asp?key=Nginx。这个网站里面的Nginx的版本很多,可以根据自己的需要下载。

2、下载完成后解压到任意位置,建议不要含有中文路径。

3、直接点击“nginx.exe”文件,即可启动nginx服务了,启动成功你就可以看到进程中多了两个“nginx.exe”进程。如果没有启动成功,可以查看/nginx/logs/error.log文件查看错误原因。

4、测试:直接打开浏览器,输入127.0.0.1/index.html如看到网页中显示“Welcome to nginx!”就说明nginx已经安装成功并能正常启动了。

配置时常见问题解答:(配置错误详见/nginx/logs/error.log文件)

1、出现“bind() to 0.0.0.0:80 failed”的错误:由于nginx使用的是80端口,出现这一错误说明你的80端口已经被其他程序占用,只要我们结束占用端口的程序,再重新启动nginx就可以了。具体操作方法如下:

   1)使用快捷键【win+R】组合键激活运行窗口,输入“cmd”命令,打开dos窗口。

   2)输入“netstat -ano”查看当前进程所占用端口号,第二栏“Local Address”冒号后面的数字就代表端口号。

   3)输入“tasklist|findstr "占用80端口号程序的PID值"”查看到底是什么程序占用了80端口。

   4)找出具体的程序就好解决了,打开任务管理器窗口,结束该进程就可以了,然后重启nginx错误就消息了。

2、出现“"fastcgi_pass" directive is not allowed here in nginx/conf/nginx.conf:67”的错误:出现该错误主要是由于默认的网页文件路径找不到,一般nginx默认的网页文件路径是/nginx/html/index.html,可以查看配置文件中默认是否被改动过和查看是否/html路径下存在“index.html”文件,配置文件中相关语句:

    location / {

            root   html;

            index  index.html index.htm,index.php;}

html代表默认路径,index.html等代表默认文件。

三、配置文件详解

一般配置nginx+php或者ASP环境都需要对配置文件进行一些相应的修改,所以使用nginx搞懂其配置文件中语句的含义对以后开展的工作来说是非常必要的,下面就为大家详细介绍一下nginx的配置文件nginx.conf..

#用户 用户组

#user wgy huweishen;

#工作进程,根据硬件调整,一般是配置为小于CPU数

worker_processes 5;

#错误日志

error_log logs/error.log;

#pid文件位置

pid logs/nginx.pid;

worker_rlimit_nofile 8192;

 

events {

#工作进程的最大连接数量,根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行

worker_connections 4096;

}

 

http {

include conf/mime.types;

#反向代理配置,可以打开proxy.conf看看

include /etc/nginx/proxy.conf;

#fastcgi配置,可以打开fastcgi.conf看看

include /etc/nginx/fastcgi.conf;

 

default_type application/octet-stream;

#charset gb2312; #默认编码

  server_names_hash_bucket_size 128; #服务器名字的hash表大小

  client_header_buffer_size 32k; #上传文件大小限制

  large_client_header_buffers 4 32k; #设定请求缓

  client_max_body_size 8m; #设定请求缓

  sendfile on; #开启高效文件传输模式

  tcp_nopush on; #防止网络阻塞

  tcp_nodelay on; #防止网络阻塞

  keepalive_timeout 60; #超时时间

 

#日志的格式

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

'"$request" $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#访问日志

access_log logs/access.log main;

sendfile on;

tcp_nopush on;

#根据实际情况调整,如果server很多,就调大一点

server_names_hash_bucket_size 128; # this seems to be required for some vhosts

 

#这个例子是fastcgi的例子,如果用fastcgi就要仔细看

server { # php/fastcgi

listen 80;

#域名,可以有多个

server_name domain1.com www.domain1.com;

#访问日志,和上面的级别不一样,应该是下级的覆盖上级的

access_log logs/domain1.access.log main;

 

location / {

#默认网页路径存放路径,html代表存放在“nginx/html”中,可根据数据情况修改

root   html;

#默认首页名字,可根据实际情况修改

index index.html index.htm index.php;

}

 

#所有php后缀的,都通过fastcgi发送到1025端口上

#上面include的fastcgi.conf在此应该是有作用,如果你不include,那么就把fastcgi.conf的配置项放在这个下面。

location ~ .php$ {

fastcgi_pass 127.0.0.1:1025;

}

}

 

#这个是反向代理的例子

server { # simple reverse-proxy

listen 80;

server_name domain2.com www.domain2.com;

access_log logs/domain2.access.log main;

 

#静态文件,nginx自己处理

location ~ ^/(images|javas cript|js|css|flash|media|static)/ {

root /var/www/virtual/big.server.com/htdocs;

#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。

expires 30d;

}

 

#把请求转发给后台web服务器,反向代理和fastcgi的区别是,反向代理后面是web服务器,fastcgi后台是fasstcgi监听进程,当然,协议也不一样。

location / {

proxy_pass http://127.0.0.1:8080;

}

}

 

#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。据说nginx可以根据后台响应时间调整。后台需要多个web服务器。

upstream big_server_com {

server 127.0.0.3:8000 weight=5;

server 127.0.0.3:8001 weight=5;

server 192.168.0.1:8000;

server 192.168.0.1:8001;

}

 

server {

listen 80;

server_name big.server.com;

access_log logs/big.server.access.log main;

 

location / {

proxy_pass http://big_server_com;

}

}

}

 

  Nginx可以说是另一款优秀的HTTP代理服务器,其配置其实也是非常的简单,看了本文,你的nginx服务器work了吗?如果没得,欢迎留言。

作者:佚名来源:不详
标签: 配置 文件 详解
  • 用户名:*
  • 邮 箱:(可选)
  • 验证码:*