没有合适的资源?快使用搜索试试~ 我知道了~
介绍nginx的安装及各项功能配置以及四层和七层代理
资源推荐
资源详情
资源评论
1、nginx 下载及环境准备
http://nginx.org/en/download.html
yum -t install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openeel-devel
2、nginx 安装
tar -xvf nginx-1.26.0.tar.gz -C /usr/local/
mv /usr/local/nginx-1.26.0 /usr/local/nginx && cd /usr/local/nginx
在 nginx 主目录下执行
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
--with-http_ssl_module
make && make install
3、启动(关闭)nginx
./sbin/nginx (./sbin/nginx -s stop)
重启 nginx:./sbin/nginx -s reload
4、nginx 安装模块及配置文件详解
4.1 nginx 安装模块详解:
[root@localhost nginx-1.14.0]# ./configure --help => 查看安装配置项
--help
打印帮助信息。
--prefix=PATH
设置软件安装目录路径。
--sbin-path=PATH
设置可执行文件安装目录路径。
--modules-path=PATH
设置模块安装目录路径。
--conf-path=PATH
设置配置文件安装目录路径。
--error-log-path=PATH
设置错误日志文件安装目录路径。
--pid-path=PATH
设置进程文件安装目录路径。
--lock-path=PATH
设置 NGINX 锁文件安装目录路径,当 NGINX 运行时会自动创建该文件,用于在一台服务
器上只允许运行一个 NGINX 服务。
--user=USER
设置运行进程时所使用的系统用户,如果没有指定,则默认为 nobody,就算安装时不指定,
后期也可以通过修改"nginx.conf"配置文件中的"user"项修改。
--group=GROUP
设置运行进程时所使用的用户组。
--build=NAME
设置编译名,一个描述,没有任何其他作用。
--builddir=DIR
设置编译目录,会将编译后生成的文件写入到这个目录中。
--------------------------------------------------------------------------------
--with-select_module
--without-select_module
启用或禁用 select 事件驱动模型。默认情况下在 Linux2.6 以上的内核版本中,Nginx 支
持使用 Epoll 高效的事件模型,我们可以在配置文件中使用"use epoll"指令开启它。
--with-poll_module
--without-poll_module
启用或禁用 poll 事件驱动模型。默认情况下在 Linux2.6 以上的内核版本中,Nginx 支持
使用 Epoll 高效的事件模型,我们可以在配置文件中使用"use epoll"指令开启它。
--with-threads
--with-file-aio
启用线程池功能。一般情况下主机有几核处理器在启动 Nginx 时就会创建几个 Worker 工
作进程,进程创建线程处理每一个请求,当在 CPU 密集型计算、资源访问的环境下,很多
请求都会开启对应的线程,可能会由于磁盘 IO 限制导致的线程处理请求时间变长,这不是
我们期望看到的,我们就可以启用线程池功能,让请求排队等待处理,并且可以充分利用
CPU 提高处理效率。开启线程池需要 AIO 的支持。
启用异步文件 IO(AIO)支持。一般用于大文件传输的场景下。
--------------------------------------------------------------------------------
--with-http_ssl_module
启用 HTTP_SSL 模块,用于构建 HTTPS 服务。默认情况下不构建此模块。
--with-http_v2_module
启用 HTTP_V2 模块,新的 HTTP 协议,相比 HTTP1 更优更快。默认情况下不构建此模块。
--with-http_realip_module
启用 HTTP_Realip 模块,用于修改客户端请求头中客户端 IP 地址值,一般用于反向代理
中,将真实的客户端 IP 传送给后端的应用服务器。默认情况下不构建此模块。
--with-http_addition_module
启用 HTTP_Addition 模块,用于在响应之前和之后添加文本。默认情况下不构建此模块。
--with-http_xslt_module
--with-http_xslt_module=dynamic
启用 HTTP_Xslt 模块,这个模块是一个过滤器,它可以通过 XSLT 模板转换成 XML 响应。
需要 ibxml2 和 libxslt 库的支持。默认情况下不构建此模块。
启用 HTTP_Xslt 动态模块,允许在配置文件中通过"load_module"指令手动启用和禁用模
块的使用。默认情况下不构建此模块。
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
启用 HTTP_Image_Filter 模块,这个模块是一个集成图片处理器,我们可以使用它转换
JPEG、GIF、PNG 和 WEBP 格式的图像,验证这些格式图像的有效型(是不是此格式的
图像),输出 JSON 格式的图像信息,旋转图像,按比例缩放图像,剪切图片等。默认情
况下不构建此模块。
启用 HTTP_Image_Filter 动态模块,允许在配置文件中通过"load_module"指令手动启用
和禁用模块的使用。默认情况下不构建此模块。
--with-http_geoip_module
--with-http_geoip_module=dynamic
启用 HTTP_Geoip 模块,这个模块用于处理不同地区的访问,当来自某一个区域的访问时
将其重定向到对应的服务或者项目上,需要 MaxMind GeoIP 库的支持。默认情况下不构
建此模块。
启用 HTTP_Geoip 动态模块,允许在配置文件中通过"load_module"指令手动启用和禁用
模块的使用。默认情况下不构建此模块。
--with-http_sub_module
启用 HTTP_Sub 模块,这个模块是一个过滤器,用于修改响应的内容,可以将一个指定的
字符串替换成另一个字符串。默认情况下不构建此模块。
--with-http_dav_module
启用 HTTP_DAV 模块,用于通过 WEBDAV 协议提供 WEB 的文件管理功能,类似于一个
WEB 的文件管理器,可以对服务器的文件进行管理。默认情况下不构建此模块。
--with-http_flv_module
--with-http_mp4_module
启用 HTTP_FLV 模块,用于为 Flash Video(FLV)文件提供伪流视频服务端支持,开启
它则允许在网页上播放 FLV 格式的视频。默认情况下不构建此模块。
启用 HTTP_MP4 模块,用于为 MP4 格式的视频文件提供伪流视频服务端支持,开启它则
允许在网页上播放 MP4 格式的视频。默认情况下不构建此模块。
--with-http_gunzip_module
--with-http_gzip_static_module
启用 HTTP_Gunzip 模块,用于为不支持"gzip"编码方式的客户端解压响应,有些浏览器不
支持"gzip"编码格式的请求和响应传输,若服务器开启了内容传输压缩功能(Gzip),则需
要开启此项,服务器会本地解压数据,将数据传送给浏览器客户端。默认情况下不构建此模
块。
启用 HTTP_Gzip_Static 模块,用于将静态内容压缩成".gz"为文件扩展名的预压缩文件,
并缓存在本地,在响应时会将此文件发送以替代普通文件,运用此模块的好处就是不需要
(Gzip)每次传输时都需要对文件进行处理压缩。在用于 Squid+Nginx 环境下,当 Nginx
启用(Gzip)内容传输压缩功能时,在使用 Squid3.0 以前版本搭建环境时会发现,Squid
返回给客户端的并不是压缩状态,这就是由于没有启用此模块导致的。默认情况下不构建此
模块。
--with-http_auth_request_module
启用 HTTP_Auth_Request 模块,此模块是一个请求验证模块,可以使用外部服务器或服
务对网站的每个请求进行身份验证,当用户访问时,Nginx 会向用于验证请求的外部服务器
发出验证请求,若返回的状态码为 200,则通过允许访问,若返回 401 或 403,则访问会
被拒绝。默认情况下不构建此模块。
--with-http_random_index_module
启用 HTTP_Random_Index 模块,随机主页模块,当用户访问时,随机响应一个主页,而
并非由"index"指令定义的一个主页,而是从主页池中随机选中一个主页面返回。默认情况
下不构建此模块。
--with-http_secure_link_module
启用 HTTP_Secure_Link 模块,防盗链模块,用于检查请求链接的权限以及是否过期,多
用于文件下载防盗链。默认情况下不构建此模块。
--with-http_degradation_module
启用 HTTP_Degradation 模块,用于当主机剩余内存较低时,用户请求访问,Nginx 会对
某些"location"的请求返回 204 或 444 的响应码。默认情况下不构建此模块。
--with-http_slice_module
启用 HTTP_Slice 模块,此模块是一个过滤器,用于将一个大的完整的文件分割成多个小块
文件,分段传送给用户,一般用于大文件传输的场景下,使用它可以让用户快速的得到响应。
默认情况下不构建此模块。
--with-http_stub_status_module
启用 HTTP_Stub_Status 模块,状态信息统计模块,用于返回一个 Nginx 状态信息统计信
息页面,管理员访问这个页面可以获取 Nginx 的请求处理、当前连接、等待连接等统计信
息,一般用于监控 Nginx 的运行状态。默认情况下不构建此模块。
--------------------------------------------------------------------------------
--without-http_charset_module
禁用 HTTP_Charset 模块,此模块用于将指定的字符集添加到"Content-Type"响应头字段
中。此外此模块还可以将数据从一个字符集转换为另一个字符集,此模块用于字符集设置。
不建议禁用。
--without-http_gzip_module
禁用 HTTP_Gzip 模块,此模块用于 HTTP 响应内容传输压缩,可以将响应内存在传输时将
其压缩成 Gzip 编码格式的响应传送给客户端,使用 Gzip 编码格式响应内容体积会变小,
会提高传输效率。不建议禁用。
--without-http_ssi_module
禁用 HTTP_SSI 模块,此模块是一个过滤器,用于处理通过它响应中的 SSI(Server Side
Includes)命令。目前支持的 SSI 命令列表并不完整,SSI 指令是一种可以嵌入 WEB 页
面的一种语法指令。
--without-http_userid_module
禁用 HTTP_Userid 模块,此模块用于识别客户端的 Cookie。可以使用嵌入变量"$uid_got"
和"$uid_set"记录已接受和设置的 Cookie。
--without-http_access_module
禁用 HTTP_Access 模块,此模块用于限制对某些客户端地址的访问,Allow or Deny。不
建议禁用。
--without-http_auth_basic_module
禁用 HTTP_Auth_Basic 模块,该模块用于 HTTP 基本身份验证,使用用户名和密码来限
制对资源的访问。
--without-http_mirror_module
禁用 HTTP_Mirror 模块,该模块用于将正式环境的流量拷贝到镜像(测试)环境下,一般
用于测试环境引入真实环境的流量实现对测试环境的压力测试。
--without-http_autoindex_module
禁用 HTTP_Autoindex 模块,该模块用于在处理以斜杠字符('/')结尾的请求,并在找不
到索引文件的情况下生成目录列表。
--without-http_geo_module
禁用 HTTP_Geo 模块,该模块用于从指定变量中获取客户端的 IP 地址,并将其嵌入到另外
一个变量中。默认情况下从"$remote_addr"变量中取得客户端的 IP 地址。我们可以通过它
结合"HTTP_Upstream"实现对来源客户端的负载均衡,当来自不同的客户端请求时,将其
负 载 均 衡 给 后 端 的 不 同 的 服 务 器 处 理 ; 还 可 以 使 用 它 结 合
"HTTP_Map"+"HTTP_Limit_Conn"模块实现对来源客户端的限速功能。
--without-http_map_module
剩余21页未读,继续阅读
资源评论
fighting~金
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功