欢迎来到云服务器

服务器租用

轻量级HTTP处事器Nginx的常用设置教程

         Nginx安装完毕后,会发生相应的安装目次,按照前面的安装路径,Nginx设置文件路径为/opt/nginx/conf,个中nginx.conf为Nginx的主设置文件。这里重点先容下nginx.conf这个设置文件。
         Nginx设置文件主要分成四部门:main(全局配置)、server(主机配置)、upstream(负载平衡处事器配置)和 location(URL匹配特定位置的配置)。main部门配置的指令将影响其他所有配置;server部门的指令主要用于指定主机和端口;upstream指令主要用于负载平衡,配置一系列的后端处事器;location部门用于匹配网页位置。这四者之间的干系式:server担任main,location担任server,upstream既不会担任其他配置也不会被担任。
         在这四个部门傍边,每个部门都包括若干指令,这些指令主要包括Nginx的主模块指令、事件模块指令、HTTP焦点模块指令,同时每个部门还可以利用其他HTTP模块指令,譬喻Http SSL模块、HttpGzip Static模块和Http Addition模块等。
下面通过一个Nginx设置实例,具体先容下nginx.conf每个指令的寄义。为了能更清楚地相识Nginx的布局和每个设置选项的寄义,这里凭据成果点将Nginx设置文件分为7个部门逐次讲授,域名注册,下面就环绕这7个部门举办先容。

1.Nginx的全局设置
下面这段内容是对Nginx的全局属性设置,
 user  nobody nobody;
 worker_processes  4;
 error_log  logs/error.log  notice;
 pid        logs/nginx.pid;
 worker_rlimit_nofile 65535;
 events{
  use epoll;
  worker_connections      65536;
       }
对上面这段代码中每个设置选项的寄义表明如下:
user是个主模块指令,指定Nginx Worker历程运行用户以及用户组,默认由nobody账号运行。
worker_processes是个主模块指令,指定了Nginx要开启的历程数。每个Nginx历程平均淹灭10M~12M内存。按照履历,一般指定一个历程足够了,假如是多核CPU,发起指定和CPU的数量一样的历程数即可。
error_log是个主模块指令,用来界说全局错误日志文件。日志输出级别有debug、info、notice、warn、error、crit可供选择,个中,debug输出日志最为最具体,而crit输出日志最少。
pid是个主模块指令,用来指定历程id的存储文件位置。
worker_rlimit_nofile用于指定一个nginx历程可以打开的最多文件描写符数目,这里是65535,需要利用呼吁“ulimit -n 65535”来配置。
events指令是设定Nginx的事情模式及毗连数上限。
events{
use epoll;
worker_connections      65536;
}
use是个事件模块指令,用来指定Nginx的事情模式。Nginx支持的事情模式有select、poll、kqueue、epoll、rtsig和/dev/poll。个中select和poll都是尺度的事情模式,kqueue和epoll是高效的事情模式,差异的是epoll用在Linux平台上,而kqueue用在BSD系统中。对付Linux系统,epoll事情模式是首选。
worker_connections也是个事件模块指令,用于界说Nginx每个历程的最大毗连数,默认是1024.最大客户端毗连数由worker_processes和worker_connections抉择,即Max_client=worker_processes*worker_connections,在作为反向署理时,max_clients变为:max_clients = worker_processes * worker_connections/4。
历程的最大毗连数受Linux系统历程的最大打开文件数限制,在执行操纵系统呼吁“ulimit -n 65536”后worker_connections的配置才气生效。

2.HTTP处事器设置
接下来开始举办HTTP处事器配置。
下面这段内容是Nginx对HTTP处事器相关属性的设置,
http{
include      conf/mime.types;
default_type  application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] '
 '"$request" $status $bytes_sent '
 '"$http_referer" "$http_user_agent" '
 '"$gzip_ratio"';
 log_format download '$remote_addr - $remote_user [$time_local] '
 '"$request" $status $bytes_sent '
 '"$http_referer" "$http_user_agent" '
 '"$http_range" "$sent_http_content_range"';
client_max_body_size  20m;
client_header_buffer_size    32K;
large_client_header_buffers  4 32k;
Sendfile  on;
tcp_nopush     on;
tcp_nodelay    on;
keepalive_timeout 60;
client_header_timeout  10;
client_body_timeout    10;
send_timeout          10;

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号