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

02_Nginx基本配置与参数说明 + 辅助命令的更多相关文章

  1. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  2. Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

    Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正 ...

  3. sqlplus 配置方法及相关命令

    sqlplus 配置方法及相关命令 1.配置文件 1.1 全局模式什么叫全局模式呢:当我们配置完sqlplus工具加载配置文件后,无论在哪个目录下登陆数据库,您设置[sqlplus提示符样子,在任何目 ...

  4. Linux 环境配置 网络端口进程命令

    网络通信命令ping 命令路径:/bin/ping 执行权限:所有用户作用:测试网络的连通性语法:ping 选项 IP地址  -c 指定发送次数    ping 命令使用的是icmp协议,不占用端口e ...

  5. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  6. nginx基本配置与参数说明以及Nginx中的upstream轮询机制介绍

    转自:http://blog.csdn.net/happydream_c/article/details/54943802 一.nginx简介 Nginx (发音为[engine x])专为性能优化而 ...

  7. Linux网络——配置防火墙的相关命令

    Linux网络——配置防火墙的相关命令 摘要:本文主要学习了如何在Linux系统中配置防火墙. iptables命令 iptables准确来讲并不是防火墙,真正的防火墙是运行于系统内核中的netfil ...

  8. 网络配置及一些shell命令概览

    一.临时配置网络(ip,网关,dns)+永久配置 1.临时配置网络IP地址命令为“ifconfig 网卡名 ip地址/24”,例如: ifconfig eth0 192.168.16.253/24 2 ...

  9. linux常用命令---系统辅助命令

    系统辅助命令

随机推荐

  1. Android开发之手把手教你写ButterKnife框架(一)

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52662376 本文出自:[余志强的博客] 一.概述 JakeWhar ...

  2. OpenResty修改Nginx默认autoindex页面

    Nginx的autoindex 命令可以自动列出目录下的文件,一些网站用这个功能做文件下载,但是Nginx又没有提供这个页面的 自定义的功能,后来看到别人提及 ngx_openresty,才想到 bo ...

  3. 如何获得Android手机的软件安装列表

    Android的PackageManager类用于检索目前安装在设备上的应用软件包的信息.你可以通过调用getpackagemanager()得到PackageManager类的一个实例.对查询和操作 ...

  4. Android app内存管理的16点建议

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiopshared memory(共享内存) Android通过下面几个方式在不同的Process中来共享RAM: 每一个app的proc ...

  5. 递归dict

    一个看起来非常酷的定义 class Example(dict): def __getitem__(self, item): try: return dict.__getitem__(self, ite ...

  6. JQuery 网页选项卡制作

    网页选项卡可以较好的利用有限的页面来展示更多的元素,而使用JQuery来制作网页选项卡也是一件非常简单的事情.今天就来分享一个网页选项卡的制作小技巧. 引入所需库 选项卡原理 业务核心 完整小例子 引 ...

  7. not in 前面/后面存在null值时的处理

    表声明 order_header表中有ship_method列: ship_method_map表中ship_method为主键列. 需求 找出order_header表中所有ship_method不 ...

  8. 查看某一职责下对应的菜单&功能&请求

    查看菜单&功能 SELECT res.RESPONSIBILITY_NAME 职责名称, menu.MENU_NAME 菜单编码, menu.USER_MENU_NAME 菜单名称, func ...

  9. iOS中 Realm的学习与使用 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 有问题或技术交流可以咨询!欢迎加入! 这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 ...

  10. Uva - Uva272 - TEX Quotes

    TeX is a typesetting language developed by Donald Knuth. It takes source text together with a few ty ...