文档章节

nginx(2)、nginx常用配置

haoran_10
 haoran_10
发布于 2016/07/15 16:40
字数 779
阅读 73
收藏 1
点赞 0
评论 0

#user  nobody;

error_log  logs/error.log  info; 

pid        logs/nginx.pid;

1、user  nobody:
定义Nginx运行的用户和用户组

2、error_log  logs/error.log  info:
全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] 

3、pid        logs/nginx.pid; :
进程pid文件

 

worker_processes  auto;

worker_rlimit_nofile 65535;

1、worker_processes:
nginx进程数,建议设置为当前主机的CPU总核心数,或者设置自动配置 auto


2、worker_rlimit_nofile 65535:
一个nginx进程打开的最多文件描述符数目
理论值应该是系统最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535

 

# 工作模式与连接数上限

events{

   use epoll;

   worker_connections 65535;

1、  use epoll :
参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。

2、worker_connections 65535
单个进程最大连接数。
最大连接数=连接数*进程数,如果是代理后端服务器,还要再除以2。

}

#http服务器

http {

    include       mime.types;                           

    default_type  application/octet-stream; 

1、include       mime.types:
文件扩展名与文件类型映射表

2、default_type  application/octet-stream;
默认文件类型

 

    #access_log  logs/access.log  main; 

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

 

1、access_log  logs/access.log  main
设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快


2、日志格式设定
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

 

    sendfile        on; 

    #tcp_nopush     on;

    keepalive_timeout  65;

1、sendfile        on;  
开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    
2、tcp_nopush     on;
防止网络阻塞

3、keepalive_timeout  65;
连接超时时间,单位秒

 

   #gzip on; 

#gzip模块设置
1、gzip on; #开启gzip压缩输出
2、gzip_min_length 1k; #最小压缩文件大小
3、gzip_buffers 4 16k; #压缩缓冲区
4、gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
5、gzip_comp_level 2; #压缩等级
6、gzip_types text/plain application/x-javascript text/css application/xml;
   #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
7、gzip_vary on;

 

    #定义虚拟机

    server {

        listen       80;

        server_name  localhost;

        charset utf-8;

1、listen       80;#监听端口
2、server_name  localhost;#定义域名
3、charset utf-8;#字符集

 

       #资源定位

        location / {

            #定位的根目录

            root   html;

            index  index.html;

        }

        

        #定义一些404,5xx页面

        #error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        #图片缓存时间设置

        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)${

                 expires 10d;

        }

        #JS和CSS缓存时间设置

        location ~ .*.(js|css)?${

           expires 1h;

       }

    }

}

 

参考资料:

http://www.cnblogs.com/nixi8/p/4871057.html

http://www.chinaz.com/web/2015/0424/401323_2.shtml

http://www.nginx.cn/76.html

http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html

 

 

 

© 著作权归作者所有

共有 人打赏支持
haoran_10
粉丝 25
博文 88
码字总数 80846
作品 0
杭州
程序员
服务器后端开发系列——《实战Nginx高性能Web服务器》

1、高性能Web服务器Nginx的配置与部署研究(1)Nginx简介及入门示例 内容:概述Nginx的背景知识和简单的入门实例。 2、高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置与部署及“...

晨曦之光
2012/04/24
162
0
使用nginx搭建简单的文件服务器

安装nginx 请参照我的上一篇文章 在Ubuntu安装nginx 2. 配置nginx服务器 ##测试配置文件sudo /usr/sbin/nginx -t 修改配置文件 1. 在nginx文件中 server节点下有: include /etc/nginx/conf.d...

ordiy
2016/04/28
9.4K
0
nginx 常用的 URL 重写方法(转)

转自:http://www.jbxue.com/article/4727.html Nginx中一些常用的URL 重写方法介绍,有需要的朋友可以参考下。url重写应该不陌生,不管是SEO URL 伪静态的需要,还是在非常流行的wordpress...

mysoftsky
2014/03/12
0
0
Nginx编译参数和进程管理介绍(二)

Nginx编译参数和进程管理介绍(二) 本文介绍两个部分:Nginx的编译参数以及nginx的进程管理。文章总体层次架构如图所示: 一、Nginx编译参数详解 从源代码编译应用程序时通常有三个步骤:配...

PowerMichael
2017/07/25
0
0
nginx的详细使用说明(上)

时下在大型的网络站点上,大部分都是采用LNMP部署的结构。这里主要理清下Nginx的部署,对nginx的使用做一个小结(另外俩个小结一个是安装小结,还有一个部署小结)。 1. 首先登录服务器查看n...

熊猫88
2015/12/26
241
0
Linux Nginx 单独安装配置

Nginx 安装 系统平台:CentOS release 6.6 (Final) 64位。 一、安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 二、首先要安装 PCRE PCR......

沉淀岁月
2016/11/15
8
0
CentOS6.6 64位Nginx 安装配置

一、安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 二、首先要安装 PCRE PCRE 作用是让 Ngnix 支持 Rewrite 功能。 1、下载 PCRE 安装包...

macro_cj
2016/11/09
13
0
HAProxy Nginx LVS Apache总结篇

今天也许是最后一次探讨关于HAProxy Nginx LVS Apache的文章,之后将不再赘述,博主之后将要把重心放在Java和Python上,大家如果有什么疑问可以通过博客首页QQ联系、或者留言。 一、今天花点...

任志远Ray
2017/03/01
0
0
Openshfit上用ConfigMap来自定义Nginx配置

Nginx是最常用的代理软件,也是最常用的WebServer,怎样很方便地在openshift上部署呢?同时又能很方便地对它自定义进行配置? 直接使用docker的nginx会有以下问题: 启动时权限问题。默认ope...

PanMichael
06/05
0
0
Docker-compose常用命令

1.github地址:https://github.com/TodorText/lnmp.git 这个是根据laradock精简的lnmp,并且摘除了从容器挂载数据卷 2.命令 docker-compose --help你会看到如下这么多命令 build Build or r...

莫小安
07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CoreText进阶(五)- 文字排版样式和效果

CoreText进阶(五)- 文字排版样式和效果 效果 以下是三个设置了不同属性的效果图 第一个设置了文字颜色为红色,字体为16号 第二个设置了文字颜色为灰色,字体为16号,对其为居中 第三个设置...

aron1992
27分钟前
1
0
10.23 linux任务计划cron~10.27 target介绍

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是...

洗香香
37分钟前
0
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

20.20 告警系统主脚本 告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "en...

lyy549745
41分钟前
0
0
Don’t Repeat Yourself

在软件工程中,Don’t Repeat Yourself(DRY)是软件开发的原则,旨在减少重复,用抽象代替它,使用数据规范化来避免冗余。 这个原则在维基百科上是说是由Andy Hunt和Dave Thomas《The Pragmat...

woshixin
42分钟前
0
0
搭建webpack项目框架

作者:汪娇娇 时间:2018年6月4日 一、说明 随着业务发展和前端人员的增加,搭建一个通用框架以及制定统一规范就成了必然。对于选型这方面,一开始好像就没考虑其他框架,直接选了webpack。w...

娇娇jojojo
50分钟前
0
0
Java基础——面向对象(内部类)

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 内部类: 1.有名内部类 2.无名内部类 内部类申请...

凯哥学堂
58分钟前
0
0
HttpClient内部三个超时时间的区别

RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(config.connReqTimeout) //从连接池中获取连接的超时时间 ......

1713716445
今天
0
0
每天一个命令SCP

每天一个命令:SCP scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速...

河图再现
今天
0
0
cron/chkconfig/systemd/unit/target

linux任务计划 : cron工具 任务计划在运维工作中用到的比较多,大部分系统管理工作都是通过定期自动执行某个脚本来完成。 查看linux中任务计划的配置文件: /etc/crontab [root@yolks-001 ~]...

Hi_Yolks
今天
1
0
ftp攻略

Vsftpd完全攻略(一)ftp原理与vsftp安装:https://www.iyunv.com/thread-44698-1-1.html Vsftpd完全攻略(二)设置匿名用户也支持下载和上传与创建目录:https://www.iyunv.com/forum.php?mo...

寰宇01
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部