首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Nginx 提升网站访问速度(2)

使用 Nginx 提升网站访问速度(2)

常用的 Nginx 参数和控制程序运行参数Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令
1
sbin/nginx – t – c conf/nginx2.conf




通过信号对 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 重新加载配置。
配置 Nginx先来看一个实际的配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
user  nobody;# 工作进程的属主
worker_processes  4;# 工作进程数,一般与 CPU 核数等同

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
   use epoll;#Linux 下性能最好的 event 模式
   worker_connections  2048;# 每个工作进程允许最大的同时连接数
}

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  off;
   access_log  logs/access.log;# 日志文件名

   sendfile        on;
   #tcp_nopush     on;
   tcp_nodelay     on;

   keepalive_timeout  65;

   include      gzip.conf;
   
   # 集群中的所有后台服务器的配置信息
   upstream tomcats {
    server 192.168.0.11:8080 weight=10;
    server 192.168.0.11:8081 weight=10;
    server 192.168.0.12:8080 weight=10;
    server 192.168.0.12:8081 weight=10;
    server 192.168.0.13:8080 weight=10;
    server 192.168.0.13:8081 weight=10;
   }

   server {
       listen       80;#HTTP 的端口
       server_name  localhost;

       charset utf-8;

       #access_log  logs/host.access.log  main;

    location ~ ^/NginxStatus/ {
       stub_status on; #Nginx 状态监控配置
       access_log off;
    }

    location ~ ^/(WEB-INF)/ {
       deny all;
    }
   

    location ~ \.(htm|html|asp|php|gif|jpg|jpeg|png|bmp|ico|rar|css|js|
    zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {
            root /opt/webapp;
       expires 24h;
       }

       location / {
       proxy_pass http://tomcats;# 反向代理
       include proxy.conf;
       }

       error_page 404 /html/404.html;

       # redirect server error pages to the static page /50x.html
       #
    error_page 502 503 /html/502.html;
       error_page 500 504 /50x.html;
       location = /50x.html {
           root   html;
       }
   }
}

返回列表