Nginx 配置信息整理及实验步骤验证

Nginx是一款轻量级的WEB服务器反向代理服务邮件服务器(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,目前应用广泛。

Nginx基础

Nginx配置文件个人记录

USER:定义用户和组信息

Work_processes :定义核心数量(等于或小于总核心数)

Worker_cpu_affinity cpumask ...; (使用cpumask进行描述标识核心绑定的核心,也可直接设置auto)

CPU MASK:

00000001:0号cpu

00000010:1号cpu

也可直接标识为:

0001:0号cpu

0010:1号cpu

Worker_priority number;(设定worker进程的nice值,提高优先级【-20,19】

Worker_rlimit_nofile number;(worker进程能打开文件的上限)

Error_log
/usr/local/nginx/logs/error.log
info;(定义error_log错误日志它有几个级别【debug|info|notice|warn|error|crit】其中crit记录的信息最少,依次向前会获得更加详细的错误信息

events  {

Use epoll; (nginx默认就是epoll模式)

worker_connections 1024;  (单个进程最大连接数,根据硬件调整到最佳状态)

}

Accep_mutex on | off;(处理新的连接请求的方法;on意味由各worker轮流处理请求,off意味着每个新请求的到达都会通知所有的worker进程;

http段描述

Log_format 日志格式描述,设定输出的信息内容

Access_log /var/log/nginx/access.log main; (设置访问日志输出的路径)

Sendfile  on;(开启高效文件传输模式)

Tcp_nodelay on | off (在keepalived模式下:off会有延迟 on 将不打包直接发送无延迟)

Tcp_nopush on | off (开启等待首部一起发送)

Keepalive_timeout 65;(长链接超时时间)

Keepalive_requests 100; (一次长链接允许请求的资源最大数量,默认100)

Keepalive_disable msie6 (对那种浏览器禁用长链接)

Send_timeout 60; (发送响应的超时时间)

Include mime.types; (Include载入文件扩展名与文件类型映射表)

Default_type application/octet-srteam; (默认文件类型)

以下是SERVER配置端的描述

Server {

Listen 80;(监听某个端口或某个地址的某个端口)

Server_name www.stu56.xin;(设置服务器主机名称)(default_server默认虚拟主机)

Root  /web/www/test/; (设置站端根目录)

Index index.html;(设置默认资源)

}

Location 【 = | ~ | ~* | ^~ 】(在server配置中会有多个location段,用于实现URI到文件系统的路径映射;nginx会根据用户请求的URI来检查定义的所有location,并找出一个最佳匹配,而后应用其配置)

= :对URI做精确匹配;

Location = /admin/ {

...

}

~:对URI做正则表达式模式匹配,区分字符大小写;

~*:对URI做正则表达式模式匹配,不区分字符大小写;

^~:对URI的左半部分做匹配检查,不区分字符大小写;

不带符号:匹配起始于此URI的左右URI;

匹配优先级:=,^~,~/~*,不带符号;

}

Ngx_http_access_module模块

实现基于ip的访问控制功能,给网页设置用户加密

使用htpasswd 创建密码文件

-c :创建一个加密文件    -m:默认采用MD5算法加密

设置白名单:放行172.16.250.76 拒绝 172.16.253.162;

设置nginx的状态status页面

Ngx_http_gzip_module

Gzip on; 开启gzip压缩输出

Gzip_http_version 1.0; 压缩版本(默认1.1)

Gzip_comp_level 3;压缩等级

Gzip_types application/javascript; 压缩类型,

用文件测试后,会有一定压缩比例,有助于生产环境中降低带宽占用

Ngx_http_rewrite_module 将用户请求的URI基于regex所描述的模式进行检查,而后完成替换

Rewrite_log on | off (是否开启重写日志记录)

Ngx_http_referer_module模块;

Valid_referers  none | blocked |server_names | srting...

None :请求报文首部没有referer首部;

Blocked:请求报文的referer首部没有值

Server_names:参数,其可以有值作为主机名或主机名模式;

Arbitrary_string: 直接字符串,但可以用*作通配符

Reqular expression :被指定的正则表达式模式匹配到的字符串:要用~打头,例如~.*\.magedu\.com;

以下是利用referers模块做的防盗链功能:

已经有配置好的俩台机器

在进行测试的盗链机器上插入一段另一台机器的图片链接

为限制前图片可以正常显示

以下是对server进行配置 加入referers项进行匹配,匹配到的进行路径重写,也可以直接做return返回错误

以下是测试的信息

Ngx_http_ssl_module

在nginx上做https加密访问

Ssl on | off 开启或者关闭https

这里配置保留80与443端口,保证http与https同时可以工作,所以对ssl on进行了注销;

Ssl_certiflcate_file; 当前虚拟主机使用pem格式文件

Ssl_certificate_kye ; 当前虚拟主机上与其证书匹配的私钥文件;

Ssl_prottocols sslv3 ; 设置ssl协议版本,默认为“tlsv1,tlsv1.1,tlsv1.2”

Ssl_session_cache off | none | builtin[:size] | [shard:name:size] 设置ssl缓存类型

Builtin[:size]:使用openssl 内建的缓存,此缓存为每个worker进程私有

[shared:name:size]:在各worker之间使用一个共享的缓存

(其中共享的缓存效率更高)

Ssl_session_timeout ; (客户端一侧的连接可以复用ssl_session_cache中缓存的ssl参数的有效时长)

时间: 2024-08-29 19:35:27

Nginx 配置信息整理及实验步骤验证的相关文章

自己站点的nginx 配置信息

user www www; worker_processes auto; error_log /home/wwwlogs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 51200; events { use epo

阿里云centos7下的nginx配置

1.添加资源 添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令(没有换行): # sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2.安装Nginx 在你的CentOS 7 服务器中使用yum命令从Nginx源服务器中获取来安装Nginx: # yum install -y nginx 3.启动Nginx 运行Ng

nginx配置ssl证书实现https访问

一,环境说明 服务器系统:centos7.2 服务器IP地址:4xxxx 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点"解析",进入解析页面后选择[添加解析]按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认. 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书, 选择"免费版DV SSL",点击立即购买: 然后点去支付: 最后确认

Nginx状态信息(status)配置及信息详解

Nginx状态信息(status)配置及信息详解 nginx与php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助.为了后续的zabbix监控,我们需要先了解一下nginx的状态页. Nginx状态信息(status)介绍 Nginx软件在编译时又一个with-http_stub_status_module模块,这个模块功能是记录Nginx的基本访问状态信息,让使用者了解Nginx的工作状态.要想使用状态模块,在编译时必须增加--with-http_stub

nginx源码分析--配置信息的继承&合并

这里只讲述http{}模块下的配置: 在ngx_http_block()函数内(这个函数别调用时在ngx_inti_cycle内的ngx_conf_parse函数,这个函数遇到http命令时 回调ngx_http_block,开启http{}配置块的解读工作),针对每一个http模块,调用init_conf之后,有调用了ngx_http_merge_servers().这是为何! 首先明确几点:一个http{}配置块内可以包含多个server{}配置块,每个server{}配置块可以包含多个lo

记录一次nginx的upstream的配置信息

nginx的upstream的配置信息 upstream qq.xiaoyu.cn { server 192.168.1.139:80 max_fails=3 fail_timeout=30s; server 192.168.1.140:80 max_fails=3 fail_timeout=30s; } server { listen 80; server_name qq.xiaoyu.cn; access_log /home/logs/nginx/qq.xiaoyu.cn/access_lo

Nginx 状态信息功能配置

Nginx 状态信息功能介绍 Nginx 有一个 ngx_http_stub_status_module 模块,主要功能是记录 Nginx 的基本访问状态信息,让使用者了解 Nginx 的工作状态 要使用该模块,必须在编译安装 Nginx 的时候添加 --with-http_stub_status_module 参数,可以用 /usr/local/nginx/sbin/nginx -V 来查看是否添加 配置 Nginx 状态信息功能 可以单独创建一个虚拟主机来配置 Nginx 状态信息功能 [[

Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9315560/1901284 0.说明 使用Nginx可以配置基于域名的虚拟主机.基于端口的虚拟主机和基于端口的虚拟主机,比较常用的是基于域名的虚拟主机,这里要做的配置是基于域名的虚拟主机,并且是配置多个基于域名的虚拟主机. 关于Nginx配置文件的说明可以参考官方文档,同时也可以参考老男孩老师的书

你真的了解如何将 Nginx 配置为Web服务器吗

阅读之前,建议先阅读初识 Nginx. 之后,我们来了解一下 Nginx 配置. 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求.具体来说,就是定义一些虚拟服务器(Virtual Servers),控制具有特定 IP 和域名的请求. 更具体的来说, Nginx 通过定义一系列 locations 来控制对 URIS 的选择.每一个 location 定义了对映射到自己的请求的处理场景:返回一个文件或者代理请求,或者根据不同的错误代码