02_Nginx基本配置与参数说明 + 辅助命令



Nginx基本配置与参数说明,下面是nginx.conf配置文件

#运行用户

#user  nobody;

worker_processes  2;

#全局错误日志及PID文件

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

#工作模式及连接数上限

events {

#epoll是多路复用IO(I/O Multiplexing)中的一种方式

#仅用于linux2.6以上内核,可以大大提高nginx的性能

#use epoll

#单个后台worker process进程的最大并发链接数

worker_connections  1024;

#并发总数是worker_processes和worker_connections的成绩

#即max_clients = worker_process * worker_connections

#在设置了反向代理的情况下,max_clients = woker_processes * worker_connections / 4

#为什么上面的方向代理要除以4,应该说是一个经验值

#根据以上条件,正常情况下的Nginx Server可以应付的最大连接为:4 * 8000 = 32000

#woker_connections值的设置跟物理内存大小有关

#因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数

#而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10左右

#我们来看看360M内存的VPS可以打开的文件句柄数是多少:

#$ cat /proc/sys/fs/file-max

#输出 34336 (我的是287464)

#32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统承受的范围之内

#

#所以,worker_connections的值需根据worker_processes进程数目和系统可以打开的最大文件

#总进行适当地进行设置

#

#使得并发总数小于操作系统可以打开的最大文件数据

#其实质也就是根据主机的物理CPU和内存进行配置

#当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要系统资源

#ulimit -SHn 65535

}

http {

#设定mime类型,类型由mime.type文件定义

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指令指定nginx是否调用sendfile函数(zero copy方式)来输出文件,

#对于普通应用,必须设为on,

#如果用来进行下载等应用磁盘IO重负载应用,可以设置为off

#以平衡磁盘与网络I/O处理速度,降低系统的uptime

sendfile        on;

tcp_nopush     on;

#连接超时时间

#keepalive_timeout  0;

keepalive_timeout  65;

#开启gzip压缩

gzip  on;

gzip_disable "MSIE [1-6].";

#设定请求缓冲

client_header_buffer_size  128k;

large_client_header_buffers 4 128k;

#设置虚拟机主机配置

server {

listen       80;

#定义使用www.nginx.cn访问

#server_name www.nginx.cn;

server_name  localhost;

#定义服务器的默认网站根目录的访问日志

#root html;

#charset koi8-r;

#设定本虚拟主机的访问日志

#access_log  logs/host.access.log  main;

#在我的电脑上有:[root@localhost some]# pwd example.html

#/data/www/some

#

#如果按照下面的配置,在浏览器上输入:http://192.168.6.26/some/example.html

#这时候浏览器中可以看到页面内容

location / {

root   /data/www;

}

#在我的电脑

#[root@localhost images]#

#[root@localhost images]# pwd

#/data/images

#[root@localhost images]# ls

#test.png

#[root@localhost images]#

#

#在浏览器中输入:http://192.168.6.26/images/test.png,在页面中可以看到图片

location /images/ {

root /data;

}

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

}

#静态文件,nginx自己处理

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

#过期30天,静态文件不怎么更新,过期可以设大一点

#如果频繁更新,则可以设置得小一点

expires 30d;

}

# 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

#

#禁止访问,htxxx文件

#location ~ /\.ht {

#    deny  all;

#}

}

server {

location / {

proxy_pass http://192.168.6.26:8080;

}

#表示只要是这些歌文件就转到/data/images

location ~ \.(gif|jpg|png)$ {

root /data/images;

}

}

# 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 ssl;

#    server_name  localhost;

#    ssl_certificate      cert.pem;

#    ssl_certificate_key  cert.key;

#    ssl_session_cache    shared:SSL:1m;

#    ssl_session_timeout  5m;

#    ssl_ciphers  HIGH:!aNULL:!MD5;

#    ssl_prefer_server_ciphers  on;

#    location / {

#        root   html;

#        index  index.html index.htm;

#    }

#}

}

2 辅助知识点:

#

#查看每个物理CPU中的core的个数

[root@localhost ~]# cat /proc/cpuinfo |grep "cpu cores" | uniq

cpu cores :2

查看逻辑物理CPU的个数

[root@localhost ~]# cat /proc/cpuinfo| grep"processor"| wc -l

2

查看CPU信息(型号)

[root@localhost ~]# cat /proc/cpuinfo |grep name | cut -f2 -d: | uniq -c

2  Intel(R) Core(TM) i5-3230M CPU@ 2.60GHz

查看内存信息

[root@localhost ~]# cat /proc/meminfo

上一篇:(转)ASP.NET Mvc 2.0 - 1. Areas的创建与执行


下一篇:java – Mockito:等待与参数匹配的调用