设为首页 收藏本站
查看: 1082|回复: 0

[经验分享] Nginx实战基础篇二 Nginx主配置文件参数详解

[复制链接]

尚未签到

发表于 2018-11-8 09:44:03 | 显示全部楼层 |阅读模式
  Nginx实战基础篇二 Nginx主配置文件参数详解
  

版权声明:

本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议

您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品

您可以根据本作品演义自己的作品

您必须按照作者或者许可人指定的方式对作品进行署名。

您不得将本作品用于商业目的。

如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。

对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。

如果得到著作权人的许可,您可以不受任何这些条件的限制。

Designed by 小诺(www.rsyslog.org  dreamfire.blog.51cto.com

Nginx安装完毕后,会有响应的安装目录,安装目录里nginx.conf为nginx的主配置文件,ginx主配置文件分为4部分,main(全局配置)、server(主机设置)、upstream(负载均衡服务器设)和location(URL匹配特定位置的设置),这四者关系为:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。

一、Nginxmain(全局配置)文件

  


  • [root@rhel6u3-7 server]# vim /usr/local/nginx/conf/nginx.conf
  • user  nginx nginx; //指定nginx运行的用户及用户组为nginx,默认为nobody
  • worker_processes  2; //开启的进程数,一般跟逻辑cpu核数一致
  • error_log  logs/error.log  notice;  //定于全局错误日志文件,级别以notice显示。还有debug、info、warn、error、crit模式,debug输出最多,crit输出最少,更加实际环境而定。
  • pid        logs/nginx.pid; //指定进程id的存储文件位置
  • worker_rlimit_nofile 65535; //指定一个nginx进程打开的最多文件描述符数目,受系统进程的最大打开文件数量限制
  • events {
  •     use epoll; 设置工作模式为epoll,除此之外还有select、poll、kqueue、rtsig和/dev/poll模式
  •     worker_connections  65535; //定义每个进程的最大连接数 受系统进程的最大打开文件数量限制
  • }
  • …….

  


  • [root@rhel6u3-7 server]# cat /proc/cpuinfo | grep "processor" | wc –l  //查看逻辑CPU核数
  • [root@rhel6u3-7 server]# ulimit -n 65535  //设置系统进程的最大打开文件数量
  


二、NginxHTTP服务器配置,Gzip配置。

  


  • http {
  • *****************************以下是http服务器全局配置*********************************
  •     include       mime.types;  //主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度,DNS主配置文件中的zonerfc1912,acl基本上都是用的include语句
  • default_type  application/octet-stream; //核心模块指令,这里默认设置为二进制流,也就是当文件类型未定义时使用这种方式
  • //下面代码为日志格式的设定,main为日志格式的名称,可自行设置,后面引用。
  •     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;  //引用日志main
  •     client_max_body_size 20m; //设置允许客户端请求的最大的单个文件字节数
  • client_header_buffer_size 32k; //指定来自客户端请求头的headebuffer大小
  • client_body_temp_path /dev/shm/client_body_temp; //指定连接请求试图写入缓存文件的目录路径
  •     large_client_header_buffers 4 32k; //指定客户端请求中较大的消息头的缓存最大数量和大小,目前设置为4个32KB
  •     sendfile        on; //开启高效文件传输模式
  •     tcp_nopush     on; //开启防止网络阻塞
  •     tcp_nodelay    on; //开启防止网络阻塞
  •     keepalive_timeout  65; //设置客户端连接保存活动的超时时间
  •     client_header_timeout 10; //用于设置客户端请求读取超时时间
  •     client_body_timeout 10; //用于设置客户端请求主体读取超时时间
  • send_timeout 10; //用于设置相应客户端的超时时间
  • //以下是httpGzip模块配置
  • #httpGzip modules
  •     gzip  on;  //开启gzip压缩
  •     gzip_min_length 1k;  //设置允许压缩的页面最小字节数
  •     gzip_buffers 4 16k; //申请4个单位为16K的内存作为压缩结果流缓存
  •     gzip_http_version 1.1; //设置识别http协议的版本,默认是1.1
  •     gzip_comp_level 2; //指定gzip压缩比,1-9 数字越小,压缩比越小,速度越快.
  •     gzip_types text/plain  application/x-javascript text/css application/xml; //指定压缩的类型
  •     gzip_vary on; //让前端的缓存服务器存经过gzip压缩的页面
  


三、nginxserver虚拟主机配置

两种方式一种是直接在主配置文件中设置server字段配置虚拟主机,另外一种是使用include字段设置虚拟主机,这样可以减少主配置文件的复杂性。

  


  • *****************************以下是server主机设置*********************************
  •   server {
  •         listen       80;  //监听端口为80
  •         server_name  www.rsyslog.org;  //设置主机域名
  •         charset gb2312;  //设置访问的语言编码
  •         access_log  logs/www.rsyslog.org.access.log  main; //设置虚拟主机访问日志的存放路径及日志的格式为main
  •         location / {      //设置虚拟主机的基本信息
  •             root   sites/www;  //设置虚拟主机的网站根目录
  •             index  index.html index.htm; //设置虚拟主机默认访问的网页
  •         }
  •         location /status {  // 查看nginx当前的状态情况,需要模块 “--with-http_stub_status_module”支持
  •                 stub_status on;
  •                 access_log /usr/local/nginx/logs/status.log;
  •                 auth_basic "NginxStatus"; }
  • }
  • include /usr/local/nginx/server/www1.rsyslog.org; //使用include字段设置server,内容如下
  • [root@rhel6u3-7 ~]# cat /usr/local/nginx/server/www1.rsyslog.org
  • server {
  •      listen       80;
  •      server_name  www1.rsyslog.org;
  •       location / {
  •             root   sites/www1;
  •             index  index.html index.htm;
  •         }
  •     }
  


  upstream模块后面负载均衡再做介绍!

Nginx实战基础篇PDF高清下载系列:


  

  Nginx实战基础篇一:源码包编译安装部署web服务器  
  http://down.51cto.com/data/688744
  Nginx实战基础篇二:Nginx主配置文件参数详解
  http://down.51cto.com/data/688835
  Nginx实战基础篇三:Nginx上虚拟主机的实现过程
  http://down.51cto.com/data/688836
  Nginx实战基础篇四:通过https方式安全访问web服务器
  http://down.51cto.com/data/689197
  Nginx实战基础篇五:Nginx上实现用户名密码认证访问
  http://down.51cto.com/data/694934
  Nginx实战基础篇六:通过源码包编译安装部署LNMP搭建Discuz论坛
  http://down.51cto.com/data/694932
  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-632252-1-1.html 上篇帖子: nginx学习总结四(nginx+php-cgi) 下篇帖子: Nginx Rewrite正则表达式案例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表