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. java集合循环删除

    java集合循环删除,java list集合操作,java循环.分享牛,分享牛原创.java集合删除方法. 2.6.1.第一种方式 list.add("1"); list.add( ...

  2. Python实现数据库一键导出为Excel表格

    依赖 Python2711 xlwt MySQLdb 数据库相关 连接 获取字段信息 获取数据 Excel基础 workbook sheet 案例 封装 封装之后 测试结果 总结 数据库数据导出为ex ...

  3. ROS机器人程序设计(原书第2版)补充资料 教学大纲

    ROS机器人程序设计(原书第2版) 补充资料 教学大纲 针对该书稍后会补充教学大纲.教案.多媒体课件以及练习题等. <ROS机器人程序设计>课程简介 课程编号:XXXXXX 课程名称:RO ...

  4. 软件测试之BUG分析定位概述(QA如何分析定位BUG)

    你是否遇到这样的场景? QA发现问题后找到DEV说: 不好了,你的程序出问题了! DEV(追查半小时之后): 唉,是你们测试环境配置的问题 唉,是你们数据不一致 唉,是你们**程序版本不对 唉,是** ...

  5. 源码篇——AsyncTask机制

    AsyncTask new AsyncTask<String,String,String>(){ // 运行在主线程中,做预备工作 onPreExecute(){ } // 运行在子线程中 ...

  6. [端口扫描]S扫描器跨网段扫描

    最近看了下端口扫描,用了几款扫描器,nmap啊,x-sacn等.之前很少关注安全方面的东西,所以也比较菜. 其中有一款叫做 "S扫描器"的,扫描速度非常快,可以大网段的扫描,几十万 ...

  7. Android Framework 学习和需要学习的内容

    1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony ...

  8. iOS中监控软键盘显示或隐藏的可靠方法

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如果你试图在软键盘的显示或隐藏时去改变的UI界面结构,仅有的方 ...

  9. DBoW2算法原理介绍

    本篇介绍DBoW2算法原理介绍,下篇介绍DBoW2的应用. DBow2算法 DBow2是一种高效的回环检测算法,DBOW2算法的全称为Bags of binary words for fast pla ...

  10. NDK在windows下的开发环境搭建及开发过程

    在Android应用的开发工程中,不管是游戏还是普通应用,都时常会用到.so即动态链接库,关于.so是什么玩意儿,有什么好处,这个大家可以在网上查一下,本人不做过多解释..so本是linux下的文件类 ...