`
agapple
  • 浏览: 1601169 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

nginx使用小记

阅读更多

中文wiki社区:http://wiki.codemongers.com/NginxChs

一 . nginx安装

1. 下载nginx : http://sysoev.ru/nginx/download.html(官方下载页面)
wget http://sysoev.ru/nginx/nginx-0.7.19.tar.gz

2. 依赖模块下载
gzip 模块需要 zlib 库  (http://www.zlib.net/)
rewrite 模块需要 pcre 库  (http://www.pcre.org/)
ssl 功能需要 openssl 库 (http://www.openssl.org/)

./configure --prefix=/home/ljh/program/nginx --with-http_stub_status_module --with-pcre=./external/pcre-7.8 --with-zlib=./external/zlib-1.2.3 --with-openssl=./external/openssl-0.9.8i

make & make install


通过信号对 Nginx 进行控制

Nginx 支持下表中的信号:

信号名  作用描述 
TERM, INT  快速关闭程序,中止当前正在处理的请求 
QUIT  处理完当前请求后,关闭程序 
HUP  重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求 
USR1  重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件 
USR2  平滑升级可执行程序 
WINCH  从容关闭工作进程 

有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,
通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。

killall -s HUP nginx

二  nginx 配置

1. 监控配置
location /nginx_status {
    # copied from http://blog.kovyrin.net/2006/04/29/monitoring-nginx-with-rrdtool/
    stub_status on;
    access_log   off;
    allow SOME.IP.ADD.RESS;
    deny all;
}

页面结果解释:
Active connections: 291
server accepts handled requests
 16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
active connections -- 对后端发起的活动连接数

server accepts handled requests -- nginx 总共处理了 16630948 个连接, 成功创建 16630948 次握手 (证明中间没有失败的), 总共处理了 31070465 个请求 (平均每次握手处理了 1.8个数据请求)
reading -- nginx 读取到客户端的Header信息数
writing -- nginx 返回给客户端的Header信息数
waiting -- 开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是Nginx说已经处理完正在等候下一次请求指令的驻留连接

2. 页面缓存配置  http://wiki.codemongers.com/NginxChsMemcachedModule
server {
    location / {
        set  $memcached_key  $uri;
        memcached_pass   name:11211;
        default_type     text/html;
        error_page       404 = /fallback;
    }

    location = /fallback {
        proxy_pass       backend;
    }

3. 页面配置IP访问列表   http://wiki.codemongers.com/NginxHttpAccessModule
location / {
    deny    192.168.1.1;
    allow   192.168.1.0/24;
    allow   10.1.1.0/16;
    deny    all;
}

4. 配置页面访问控制

          location  /  {                         
              auth_basic            "Restricted";
}             auth_basic_user_file  conf/htpasswd;
htpasswd格式为 用户名:密码。你可以使用来自 Apache 的 htpasswd 工具来创建密码文件。

 

5. 限制每个IP的并发数  http://wiki.codemongers.com/NginxChsHttpLimit_zoneModule
limit_zone   one  $binary_remote_addr  10m;
server {
        location /download/ {
           limit_conn   one  1;
      }
}
定义一个叫“one”的记录区,总容量为 10M,以变量 $binary_remote_addr 作为会话的判断基准(即一个地址一个会话)。 限制 /download/ 目录下,一个会话只能进行一个连接。
简单点,就是限制 /download/ 目录下,一个IP只能发起一个连接,多过一个,一律503

6. 代理模块   http://wiki.codemongers.com/NginxChsHttpProxyModule

location / {
    proxy_pass        http://localhost:8000/hello;
    proxy_redirect    http:/localhost:8000/hello/   /;

    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_read_timeout 60
    proxy_connect_timeout 60
}

 

配置项介绍:

daemon on | off   缺省值: on 
可以在开发时开启,但必须在真实环境中设置为off

debug_points [stop | abort]  缺省值: none
可以在debugger上停止nginx应用

error_log file [ debug | info | notice | warn | error | crit ]      缺省值: ${prefix}/logs/error.log


include vhosts/*.conf;    缺省值: none
如果配置文件很长,你可以在任意地方使用include指令实现配置文件的包含。*.conf匹配所有以.conf结尾的文件

lock_file  /var/log/lock_file;
nginx采用以异步互斥进行访问控制

master_process on | off     缺省值: on
和dameon on 都是在开发时使用

pid /var/log/nginx.pid;
进程id存储文件。可以使用 kill -HUP cat /var/log/nginx.pid\ 对Nginx进行配置文件重新加载。

user user [group]
指定Nginx Worker进程运行用户,默认是nobody帐号。

worker_processes number 缺省值: 1
配置工作进程。max_clients = worker_processes * worker_connections


worker_priority [-]number
设置工作进程的优先级

worker_cpu_affinity 0001 0010 0100 1000;
绑定worker进行到四个CPU

worker_rlimit_core size
指定每个进程的文件限制


access_log path [format [buffer=size]] | off    默认值: access_log log/access.log combined
指令 access_log 指派路径、格式和缓存大小。参数 "off" 将清除当前级别的所有 access_log 指令。如果未指定格式,则使用预置的 "combined" 格式。缓存不能大于能写入磁盘的文件的最大大小。在 FreeBSD 3.0-6.0 ,缓存大小无此限制。


log_format name format [format ...]  默认值: log_format combined "..."
log_format  combined  '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $apache_bytes_sent '
                      '"$http_referer" "$http_user_agent"';

 

expires [time|epoch|max|off] 默认值: expires off
使用本指令可以控制HTTP应答中的“Expires”和“Cache-Control”的头标,(起到控制页面缓存的作用)。
可以在time值中使用正数或负数。“Expires”头标的值将通过当前系统时间加上您设定的 time 值来获得。
epoch 指定“Expires”的值为 1 January, 1970, 00:00:01 GMT。
max 指定“Expires”的值为 31 December 2037 23:59:59 GMT,“Cache-Control”的值为10年。
“Cache-Control”头标的值由您指定的时间来决定:
负数:Cache-Control: no-cache
正数或零:Cache-Control: max-age = #, # 为您指定时间的秒数。
"off" 表示不修改“Expires”和“Cache-Control”的值

 
待补充。。。。

分享到:
评论

相关推荐

    Linux 生成SSL证书 供 nginx使用

    "Linux 生成 SSL 证书供 nginx 使用" Linux 生成 SSL 证书供 nginx 使用是指通过 OpenSSL 命令生成 SSL 证书的过程,这个过程包括生成私钥、证书请求文件、证书文件和配置 nginx 使用证书。 首先,生成私钥文件...

    nginx使用指南.pdf

    Nginx 使用指南 一. Nginx 基础知识 Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 的主要特性包括处理静态文件、索引文件和自动索引、无缓存的反向代理加速、简单的...

    nginx 使用及配置文件

    ### Nginx 使用及配置详解:与Tomcat的协同工作 #### 一、Nginx简介 Nginx是一款高性能的HTTP服务器和反向代理服务器,由Igor Sysoev编写,于2004年首次发布。它以其高并发处理能力、低内存消耗和稳定性而著称,在...

    普通用户启动nginx,使用80端口

    ### 普通用户启动Nginx并使用80端口的方法详解 #### 背景介绍 在Linux系统中,默认情况下,只有root用户才能绑定1024以下的端口号,包括常用的Web服务端口80(HTTP)和443(HTTPS)。然而,在某些场景下,出于安全...

    jks证书格式转换nginx使用格式

    由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。 jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 password:...

    nginx使用教程.doc

    **Nginx 使用教程** Nginx 是一款高性能的 HTTP 和反向代理服务器,常用于网站的负载均衡和静态资源的处理。以下是一份详细的 Nginx 在 Windows 环境下的安装、配置和使用教程。 ### 一、前提环境 在安装 Nginx ...

    Nginx使用方法

    nginx -t -c F:/nginx-1.12.2/conf/nginx.conf 测试nginx配置文件是否正确 start nginx nginx -s stop nginx -s quit nginx -s reload nginx -t 修改后的hosts文件放入c:\windows\system32\drivers\etc替换以前的...

    nginx安装与使用.zip

    nginx安装与使用 http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/ Nginx开发从入门到精通 http://tengine.taobao.org/book/index.html nginx官网上下载相应的安装包,--- 直接解压就...

    nginx1.18 nginx1.18 nginx1.18

    5. **测试与启动**:使用 `nginx -t` 命令检查配置文件的正确性,无误后使用 `nginx -s reload` 重新加载配置,启动服务。 6. **监控与维护**:定期检查 Nginx 日志,监控服务器性能,并根据需要调整配置。 在使用...

    Linux自动化脚本安装Nginx使用说明

    5. **启动与检查Nginx**:安装后,可以使用`sudo systemctl start nginx`来启动Nginx服务,`sudo systemctl status nginx`检查其状态。为了使Nginx在系统启动时自动启动,可以使用`sudo systemctl enable nginx`。 ...

    nginx使用文档

    包含lvs+nginx负载均衡 nginx安装手册 nginx使用文档 keepalived高可用高可用方法 SwitchHosts软件包 还有相关安装包

    nginx,windows直接解压使用

    **Nginx在Windows环境下的直接使用指南** Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网服务。在Windows操作系统上,安装和使用Nginx相对简单,只需要进行几个基本步骤。下面我们将详细...

    nginx使用手册.chm

    nginx使用手册.chm 配置服务器nginx的手册,参考工具,欢迎下载

    nginx离线安装依赖项-linux系统/麒麟v10系统

    PCRE(Perl Compatible Regular Expressions):Nginx使用PCRE来支持正则表达式,可以使用它更灵活地匹配和处理请求。 zlib:它是一个广泛使用的压缩库,Nginx使用zlib来处理gzip压缩。 OpenSSL:它是一个开放源...

    nginx-1.26.0最新版本已完成编译可解压直接使用

    **Nginx 1.26.0 最新版编译及使用详解** Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器,因其高效的性能、丰富的功能和简单易用的配置,被广泛应用于各类互联网服务中。在本文中,我们将详细介绍 Nginx ...

    Nginx1.22.0版本Linux已编译可直接使用

    然而,这个“Nginx1.22.0 版本 Linux 已编译可直接使用”的压缩包提供了预编译的二进制文件,简化了部署过程,使得用户可以直接在 Linux 系统上运行,无需经历复杂的编译步骤。 Nginx 的主要功能包括: 1. **Web ...

    关于nginx使用教程

    nginx使用教程

    Nginx基本使用介绍.pdf

    Nginx基本使用介绍 Nginx是一个功能强大且灵活的Web服务器软件,下面将对Nginx的基本使用进行介绍。 1. Nginx基本介绍 Nginx是一个免费的开源Web服务器软件,能够处理HTTP、HTTPS、SMTP、POP3和IMAP协议。Nginx...

    nginx安装使用教程

    **Nginx安装使用教程** Nginx是一款高性能的HTTP和反向代理服务器,广泛用于网站的负载均衡、静态文件处理以及反向代理等场景。它的轻量级特性、高效稳定性和灵活的配置使得它在互联网行业中备受欢迎。本文将详细...

    nginx服务器及使用

    `nginx服务使用及设置自启动方法.doc`文件很可能是详细的操作指南,它可能包含如何配置`nginx-service.exe`以实现开机自启动的步骤,以及如何管理和控制Nginx服务的说明。建议仔细阅读这份文档,以确保正确设置自...

Global site tag (gtag.js) - Google Analytics