配置文件详细说明

  工作了几个月要开始做一些后台开发,免不了接触nginx,以前一般只是简单的使用,更多的分析内部模块的具体实现,为了部署需要进一步掌握配置方法。

全局配置信息

#nginx worker进程运行用户以及用户组 
user  nobody nobody;

#nginx worker数量
worker_processes  4;

#全局错误日志文件,日志输出级别有debug、info、notice、warn、error、crit(类似于Python中的logging)
error_log  logs/error.log  notice;

#指定主进程id的存储文件位置
pid        logs/nginx.pid;

#指定一个nginx进程可以打开的最多文件描述符数目
worker_rlimit_nofile 65535;

#设定nginx的工作模式及连接数上限
events{
      use epoll; #linux 服务器的优点所在
      worker_connections      65536;#设定worker的最大连接数
}

worker_rlimit_nofile:理论值应该是最多打开文件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。

  worker_connetions:每个工作进程允许最大的同时连接数(那么,这里是不是应该小于worker_rlimit_nofile)

  (nginx最大的连接数:Maxclient = work_processes * worker_connections)

虚拟主机配置

server {
    listen          80;
    server_name     domain.com *.domain.com;
    return          301 $scheme://www.domain.com$request_uri;
 }

server {
    listen          80;
    server_name     www.domain.com;

    index           index.html;
    root            /home/domain.com;
}

  在上面的配置信息中,server代表虚拟主机,而server_name用来设定虚拟主机匹配的域名,从而可以更具不同的域名来处理不同的请求内容,即监听端口listen是相同的~

  •   在第一个server中,该server只会匹配domain.com以及其子域名下的请求;
  •   在第二个server中,只会匹配www.domain.com的域名请求;

server {
    listen          80 default_server;

    index           index.html;
    root            /var/www/default;
}

 

  Nginx 的虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置,如果找不到呢?那 Nginx 就会将请求送到指定了 default_server 的 节点来处理,如果没有指定为 default_server 的话,就跑到 localhost 的节点,如果没有 localhost 的节点,那只好 404 了。

http配置

http {#设定mime类型
    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        on;
    #tcp_nopush     on;#长连接超时时间,单位是秒
    keepalive_timeout  65;

    #gzip  on;
    #虚拟主机的配置
    server {#监听端口
        listen       80;#域名可以有多个,用空格隔开
        server_name  localhost;

        #charset utf-8;#默认编码

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;

#设置访问网段
allow  192.168.1.0/24;
deny all;
        }

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

 


本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

时间: 2024-08-30 06:28:12

配置文件详细说明的相关文章

OpenVPN client端/server端配置文件详细说明

一,OpenVPN server端配置文件详细说明 ################################################# # 针对多客户端的OpenVPN 2.0 的服务器端配置文件示例 # # 本文件用于多客户端<->单服务器端的OpenVPN服务器端配置 # # OpenVPN也支持单机<->单机的配置(更多信息请查看网站上的示例页面) # # 该配置支持Windows或者Linux/BSD系统.此外,在Windows上,记得将路径加上双引号, #

微信小程序 配置文件详细介绍_JavaScript

下面以开发者工具自动生成的程序框架为例,对小程序的框架进行介绍. 选择一个空的项目目录创建一个小程序项目,如下图: 创建完成后我们看到如下目录结构: 目录结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page. 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必须 作用 app.js 是 小程序逻辑 app.json 是 小程序公共设置 app.wxss 否 小程序公共样式表 pages目录下为小程序页面,每个页面须建立独立的文件夹,例如上面生成的小程序

Nginx配置文件详细说明

在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data;     #启动进程,通常设置成和cpu的数量相等 worker_processes  1; #全局错误日志及PID文件 error_log  /var/log/nginx/error.log; pid        /var/run/nginx.pid; #工作模式及连接数上限 events {     use   epoll;             #epoll是多

log4j配置文件详细解释

web.xml中配置启动log4j的配置 1 <!-- webAppRootKey进行配置,这里主要是让log能将日志写到对应项目根目录下 --> 2 <!-- 定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里. 3 然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中 --> 4 <context-param> 5 <param-name>webApp

nginx.conf配置文件详解

首先确保安装了 gcc openssl-devel pcre-devel 和 zlib-devel 等软件,其实主要是为了安装 Nginx 期间的编译等,如果不安装,出错的时候,按照提示一个一个安装也可以. Linux 编译安装: wget http://nginx.org/download/nginx-1.7.6.tar.gz tar zxvf nginx-1.7.6.tar.gz ./configure --sbin-path=/usr/local/nginx/nginx --conf-pa

PowerShell入门教程之创建和使用配置文件实例_PowerShell

在命令行中定义别名.变量和函数,只是将它们添加在当前PowerShell的会话中.退出会话后,这些更改就会丢失.想要在以后的会话中也能使用它们,就要将它们定义在配置文件中. 配置文件 PowerShell的配置文件,不像Windows操作系统中那样使用.ini文件,也不像多数应用程序那样使用XML文件.PowerShell的配置文件都是些普通的PowerShell脚本文件.需要注意的是,这些配置文件的文件名是固定.不能更改的.并且它们受到脚本执行策略的约束,就是说在默认情况下,也就是脚本执行策略

hadoop 2.X HA详细配置

hadoop-daemon.sh与hadoop-daemons.sh区别 hadoop-daemon.sh只能本地执行 hadoop-daemons.sh能远程执行 1. 启动JN hadoop-daemons.sh start journalnode hdfs namenode -initializeSharedEdits //复制edits log文件到journalnode节点上,第一次创建得在格式化namenode之后使用 http://hadoop-yarn1:8480来看journa

很详细的Nginx配置说明_nginx

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器.支持FastCGI.SSL.Virtual Host.URL Rewrite.Gzip等功能.并且支持很多第三方的模块扩展. Nginx的稳定性.功能集.示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站. Ng

SQL Server提高你的合并复制性能

点燃你的合并复制性能 改善合并复制性能的最好的方式就是尽可能地运行合并代理.然而,如果你的用户不在线,那么你就无法运行合并代理,并且你应该劝告你的用户尽量频繁进行同步.以下的贴士将会帮助你提高合并复制的性能. 1.使用合适的配置文件(profile) 关于合并复制性能,你有几种特定的配置文件可以用来解决特定的需求.要察看这些配置文件,右击你的合并代理,选择代理配置(profile),然后从以下列表中选择合适的配置文件: 默认的代理配置文件 高容量服务器对服务器的配置文件 行数和检查总量确认配置文