暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

每日一学之Nginx系列NO.2初始Nginx配置文件

程序员的日记本 2018-05-08
361


图片来自于百度图片


nginx.conf


当Nginx安装成功后,运行目录下的nginx.exe文件(会一闪而过),通过浏览器运行localhost,如果出现下方页面,即表示成功。

用过tomcat的人都知道我们可以通过server.xml进行端口、项目路径等的配置,同样在Nginx中也有这么一个文件,那就是conf下的nginx.conf文件。


首先我们浏览一遍nginx.conf文件,会发现文件主要由以下内容组成


worker_processes


工作进程数,官方说一般为当前机器总cpu核心数的1到2倍,但是一般设置为1即可。此值的主要目的为了最大限度的利用CPU,提高处理效率。


当我们启动Nginx后,通过windows的进程管理器可以发现有两个进程,这里的两进程一个为守护进程一个为工作进程。


当我们将worker_processes设置为2时,就会发现进程数变为3了

这是因为工作进程我们新增了1个,因此工作进程数就变为2了。


注意:关于worker_processes最佳个数,没有固定的值,需要通过不停的测试;一般建议按照官方的配置默认为1,如果你的确需要修改,请多做测试,以获取最佳配置


worker_cpu_affinity


当你的worker_processes不为1时,你可能需要对worker_cpu_affinity进行配置,主要是设置CPU的绑定。


官方是这样解释的:将工作进程绑定到CPU集,每个CPU集由允许的CPU的位掩码表示,应该为每个进程定义一个单独的集合。默认情况下,工作者进程不绑定到任何特定的CPU。


worker_cpu_affinity表达式

2核CPU:00 2位掩码

4核CPU:0000 4位掩码

8核CPU:000000000 8位掩码


///2核心 2进程 01开启第一cpu内核 10开启第二cpu内核

worker_processes 2

worker_cpu_affinity 01 10


///4核心 4进程

worker_processes 4

worker_cpu_affinity 0001 0010 0100 1000


日志


日志文件的路径,采用的是相对路径,就在根目录下的logs文件夹下。


PID


当前nginx的进程号,可以通过下列指令杀死nginx程序。

taskkill /pid PID文件中的pid号 -t -f。


worker_connections


看名称就知道最大连接数,默认为1024,你可以根据需求来配置,但是注意任何东西都不是越大越好,别让你的cpu运行到100%。


worker_rlimit_nofile


当你的worker_connections大于了1024,那么你需要在events中加上这么一个配置项,它表示能够打开的最多文件数,worker_connections一定要小于或者等于此值。


Http(虚拟主机)


http是配置文件的重心,在这里我们能看到mime类型,application/octet-stream等一些web相关的配置,也有nginx自身的相关配置


  • sendfile 一般来说为on,如是下载等重IO的应用一般设置为false

  • keepalive_timeout 超时时间

  • listen 监听端口,类似于tomcat的8080,默认为80

  • server_name 访问项目的名称,可以为域名格式(本地修改为域名方式,需要修改host文件,C:\Windows\System32\drivers\etc\hosts文件中加入 127.0.0.1   http://example.com

  • charset 一般设置为UTF-8

  • location 表示访问路径; root->表示访问的文件夹,默认为根目录下的html文件夹,index->表示首页,默认为html文件夹下的index.html


虚拟主机的配置将是后期实现静态资源服务器,负载均衡等功能的重要组成部分。


关于location的表达式,将在下一章节中进行分享。


大家可以尝试去修改nginx安装目录下的index.html文件内容,或者自定义root文件夹目录


windos下常用nginx启停指令


1、启动:
C:\server\nginx-1.13.12>start nginx或
C:\server\nginx-1.13.12>nginx.exe

2、停止:
C:\server\nginx-1.13.12>nginx.exe -s stop或
C:\server\nginx-1.13.12>nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:
C:\server\nginx-1.13.12>nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。


4、重新打开日志文件:
C:\server\nginx-1.13.12>nginx.exe -s reopen

5、查看Nginx版本:
C:\server\nginx-1.13.12>nginx -v


下期提要


这一期主要介绍了nginx中的配置文件的简单使用方法,后期在介绍利用nginx实现不同功能时,再重点介绍相关配置。下一期将主要介绍利用nginx实现静态文件服务器。



近期,我和活跃在业界的一线技术老司机们共同开通了知识星球,——一个与公众号有别,但又一脉相承的技术圈、认知圈:公众号会一如既往地进行知识分享,知识星球则坚持关注解决问题与动手实践。问题很广、方法很多、思绪很快,希望我们能够在这里驻足思考、交流、沉淀、提升。


你负责认真,我们负责帮你解决问题,让改变发生;欢迎大家扫码加入我们的星球。期待 2018,在程序猿成长的道路上,彼此成就,共同进化!

文章转载自程序员的日记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论