安装依赖包,事实上nginx的并发能力确实在同类型

作者: 操作系统  发布:2019-11-05

安装Nginx:

centos 6.9 使用yum 安装 Nginx1.12.1

nginx1.10.2(2016.10.18)是最新稳定版,适合线上运行,最新开发版为1.11.8(2016.12.27)
系统版本CentOS6.8 64位,所有依赖都是系统rpm包,由于epel-release的nginx包不是最新的稳定版本所以选择源码包安装nginx通过源码编译安装

--prefix= 指向安装目录 

[root@jiufengjing ~]# wget http://nginx.org/download/nginx-1.14.0.tar.gz  ##下载

9159金沙官网,Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

1、安装编译所需工具
  yum groupinstall "Development Tools"
  yum install wget

--sbin-path 指向(执行)程序文件(nginx) 

[root@jiufengjing ~]# yum -y install pcre pcre-devel zlib zlib-devel openssl-devel openssl  gcc gcc-c++ #安装依赖包

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

2、到官网下载最新的源代码(
  cd /usr/local/src
  wget
  tar zxvf nginx-1.10.2.tar.gz

--conf-path= 指向配置文件(nginx.conf) 

[root@jiufengjing ~]# useradd -M -s /sbin/nologin nginx ##创建用户

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

3、安装依赖包
  yum install zlib-devel openssl-devel pcre-devel
  zlib: 为nginx提供gzip模块,需要zlib库支持,传输数据打包,省流量(但消耗资源)
  openssl: 为nginx提供ssl功能
  pcre: 为支持地址重写rewrite功能

--error-log-path= 指向错误日志目录 

[root@jiufengjing ~]# tar zxf nginx-1.14.0.tar.gz -C /usr/src/ ##解压

Nginx官网:

4、创建用来运行nginx的用户及组
  groupadd -g 58 www
  useradd -u 58 -g 58 -M www -s /sbin/nologin -g参数为www用户指定了一个组。-M参数保证其不 自动生成home目录。

--pid-path= 指向pid文件(nginx.pid) 

[root@jiufengjing ~]# cd /usr/src/nginx-1.14.0/

Nginx中文手册:

5、编译源代码
  先使用./configure –help 查看编译帮助:
  我的线上编译参数,默认开启的不用写
  ./configure --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-stream  --with-stream_ssl_module --with-pcre
./configure --help
 
  --help                            print this message
 
  --prefix=PATH                      set installation prefix #Nginx安装的根路径,默认为 /usr/local/nginx。
  --sbin-path=PATH                  set nginx binary pathname #指定nginx二进制文件的路径,默认为PATH/sbin/nginx。
  --modules-path=PATH                set modules path #Perl模块位置
  --conf-path=PATH                  set nginx.conf pathname #设定nginx配置文件地址,默认为PATH/conf/nginx.conf。
  --error-log-path=PATH              set error log pathname #错误文件路径,默认为 PATH/logs/error.log。
  --pid-path=PATH                    set nginx.pid pathname # master进程pid写入的文件位置,通常在var/run下,默认为 PATH/logs/nginx.pid。
  --lock-path=PATH                  set nginx.lock pathname #共享存储器互斥锁文件路径
 
  --user=USER                        set non-privileged user for worker processes #指定程序运行时的非特权用户
  --group=GROUP                      set non-privileged group for worker processes #指定程序运行时的非特权用户组
 
  --build=NAME                      set build name #编译名称
  --builddir=DIR                    set build directory #指向编译目录
 
  --with-select_module              enable select module 允许或不允许开启SELECT模式,如果configure没有找到合适的模式,比如,kqueue(sun os)、epoll(linux kenel 2.6+)、rtsig(实时信号)
  --without-select_module            disable select module 禁用select模块支持
  --with-poll_module                enable poll module 启用poll模块支持(功能与select相同,与select特性相同,为一种轮询模式,不推荐在高载环境下使用)
  --without-poll_module              disable poll module 禁用poll模块支持
 
  --with-threads                    enable thread pool support
 
  --with-file-aio                    enable file AIO support #为freeBSD4.3+和linux2.6.22+系统启用异步io
 
  --with-ipv6                        enable IPv6 support #启用ipv6支持
   
#默认禁用的模块
  --with-http_ssl_module            enable ngx_http_ssl_module #使支持https请求,需已安装openssl
  --with-http_v2_module              enable ngx_http_v2_module #启用HTTP V2
  --with-http_realip_module          enable ngx_http_realip_module #此模块支持显示真实来源IP地址,主要用于NGINX做前端负载均衡服务器使用
  --with-http_addition_module        enable ngx_http_addition_module #输出过滤器,使你能够在请求经过一个location前或后时在该location本身添加内容
  --with-http_xslt_module            enable ngx_http_xslt_module #这个模块是一个过滤器,它可以通过XSLT模板转换XML应答
  --with-http_xslt_module=dynamic    enable dynamic ngx_http_xslt_module 
  --with-http_image_filter_module    enable ngx_http_image_filter_module #图像过滤器,在将图像投递到客户之前进行处理(需要libgd库)
  --with-http_image_filter_module=dynamic
                                    enable dynamic ngx_http_image_filter_module 
  --with-http_geoip_module          enable ngx_http_geoip_module #创建基于与MaxMind GeoIP相配的客户端地址
  --with-http_geoip_module=dynamic  enable dynamic ngx_http_geoip_module
  --with-http_sub_module            enable ngx_http_sub_module #这个模块可以能够在nginx的应答中搜索并替换文本
  --with-http_dav_module            enable ngx_http_dav_module #为文件和目录指定权限,限制不同类型的用户对于页面有不同的操作权限
  --with-http_flv_module            enable ngx_http_flv_module #这个模块支持对FLV(flash)文件的拖动播放
  --with-http_mp4_module            enable ngx_http_mp4_module #支持H.264/AAC文件为伪流媒体
  --with-http_gunzip_module          enable ngx_http_gunzip_module #对于不支持gzip编码的客户,该模块用于为客户解压缩预压缩内容
  --with-http_gzip_static_module    enable ngx_http_gzip_static_module #这个模块在一个预压缩文件传送到开启Gzip压缩的客户端之前检查是否已经存在以“.gz”结尾的压缩文件,这样可以防止文件被重复压缩
  --with-http_auth_request_module    enable ngx_http_auth_request_module 
  --with-http_random_index_module    enable ngx_http_random_index_module #从目录中选择一个随机主页
  --with-http_secure_link_module    enable ngx_http_secure_link_module #该模块提供一种机制,它会将一个哈希值链接到一个url中,因此,只有那些使用正确的密码能够计算链接
  --with-http_degradation_module    enable ngx_http_degradation_module #允许在内存不足的情况下返回204或444码
  --with-http_slice_module          enable ngx_http_slice_module 
  --with-http_stub_status_module    enable ngx_http_stub_status_module #取得一些nginx的运行状态,输出的状态信息可使用RRDtool或类似的工具绘制成图
#默认启用的模块
  --without-http_charset_module      disable ngx_http_charset_module #重新编码web页面
  --without-http_gzip_module        disable ngx_http_gzip_module #同-with-http_gzip_static_module功能一样
  --without-http_ssi_module          disable ngx_http_ssi_module #提供在输入端处理处理服务器包含文件(SSI)的过滤器,目前支持SSI命令的列表是不完整的
  --without-http_userid_module      disable ngx_http_userid_module #用来处理用来确定客户端后续请求的cookies
  --without-http_access_module      disable ngx_http_access_module #供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址
  --without-http_auth_basic_module  disable ngx_http_auth_basic_module #可以使用用户名和密码基于http基本认证方法来保护你的站点或其部分内容
  --without-http_autoindex_module    disable ngx_http_autoindex_module #自动生成目录列表,只在ngx_http_index_module模块未找到索引文件时发出请求。
  --without-http_geo_module          disable ngx_http_geo_module #创建一些变量,其值依赖于客户端的IP地址
  --without-http_map_module          disable ngx_http_map_module #使用任意的键/值对设置配置变量
  --without-http_split_clients_module disable ngx_http_split_clients_module #用来基于某些条件划分用户。条件如:ip地址、报头、cookies等等
  --without-http_referer_module      disable ngx_http_referer_module #用来过滤请求,拒绝报头中Referer值不正确的请求
  --without-http_rewrite_module      disable ngx_http_rewrite_module #允许使用正则表达式改变URI,并且根据变量来转向以及选择配置
  --without-http_proxy_module        disable ngx_http_proxy_module #有关代理服务器
  --without-http_fastcgi_module      disable ngx_http_fastcgi_module #允许Nginx 与FastCGI 进程交互,并通过传递参数来控制FastCGI 进程工作。
  --without-http_uwsgi_module        disable ngx_http_uwsgi_module #用来使用uwsgi协议,uWSGI服务器相关
  --without-http_scgi_module        disable ngx_http_scgi_module #用来启用SCGI协议支持,SCGI协议是CGI协议的替代。
  --without-http_memcached_module    disable ngx_http_memcached_module #用来提供简单的缓存,以提高系统效率
  --without-http_limit_conn_module  disable ngx_http_limit_conn_module #允许你对于一个地址进行连接数的限制用一个给定的session或一个特定的事件
  --without-http_limit_req_module    disable ngx_http_limit_req_module #允许你对于一个地址进行请求数量的限制用一个给定的session或一个特定的事件
  --without-http_empty_gif_module    disable ngx_http_empty_gif_module #在内存中常驻了一个1*1的透明GIF图像,可以被非常快速的调用
  --without-http_browser_module      disable ngx_http_browser_module #用来创建依赖于请求报头的值
  --without-http_upstream_hash_module
                                    disable ngx_http_upstream_hash_module #用于简单的负载均衡
  --without-http_upstream_ip_hash_module
                                    disable ngx_http_upstream_ip_hash_module 
  --without-http_upstream_least_conn_module
                                    disable ngx_http_upstream_least_conn_module 
  --without-http_upstream_keepalive_module
                                    disable ngx_http_upstream_keepalive_module
  --without-http_upstream_zone_module
                                    disable ngx_http_upstream_zone_module
 
  --with-http_perl_module            enable ngx_http_perl_module #这个模块允许nginx使用SSI调用perl或直接执行perl(使用会降低性能)
  --with-http_perl_module=dynamic    enable dynamic ngx_http_perl_module
  --with-perl_modules_path=PATH      set Perl modules path #设定perl模块路径
  --with-perl=PATH                  set perl binary pathname #设定perl库文件路径
 
  --http-log-path=PATH              set http access log pathname #设定access log路径
  --http-client-body-temp-path=PATH  set path to store http client request body temporary files #设定http客户端请求临时文件路径
  --http-proxy-temp-path=PATH        set path to store http proxy temporary files #设定http代理临时文件路径
  --http-fastcgi-temp-path=PATH      set path to store http fastcgi temporary files #设定http fastcgi临时文件路径
  --http-uwsgi-temp-path=PATH        set path to store http uwsgi temporary files #设定http uwsgi临时文件路径
  --http-scgi-temp-path=PATH        set path to store http scgi temporary files #设定http scgi临时文件路径
 
  --without-http                    disable HTTP server #完全禁用http模块,如果只想支持mall,可以使用此项设置
  --without-http-cache              disable HTTP cache #在使用upstream模块时,nginx能够配置本地缓存内容,此选项可禁用缓存
 
  --with-mail                        enable POP3/IMAP4/SMTP proxy module #激活POP3/IMAP4/SMTP代理模块,默认未激活
  --with-mail=dynamic                enable dynamic POP3/IMAP4/SMTP proxy module
  --with-mail_ssl_module            enable ngx_mail_ssl_module #SMTP可以使用SSL/TLS.配置已经定义了HTTP SSL模块,但是不支持客户端证书检测
  --without-mail_pop3_module        disable ngx_mail_pop3_module #启用mail模块后,单独禁用pop3模块
  --without-mail_imap_module        disable ngx_mail_imap_module #启用mail模块后,单独禁用imap模块
  --without-mail_smtp_module        disable ngx_mail_smtp_module #启用mail模块后,单独禁用smtp模块
 
  --with-stream                      enable TCP/UDP proxy module
  --with-stream=dynamic              enable dynamic TCP/UDP proxy module
  --with-stream_ssl_module          enable ngx_stream_ssl_module
  --without-stream_limit_conn_module disable ngx_stream_limit_conn_module
  --without-stream_access_module    disable ngx_stream_access_module
  --without-stream_upstream_hash_module
                                    disable ngx_stream_upstream_hash_module
  --without-stream_upstream_least_conn_module
                                    disable ngx_stream_upstream_least_conn_module
  --without-stream_upstream_zone_module
                                    disable ngx_stream_upstream_zone_module
 
  --with-google_perftools_module    enable ngx_google_perftools_module #调试用,剖析程序性能瓶颈
  --with-cpp_test_module            enable ngx_cpp_test_module
 
  --add-module=PATH                  enable external module #启用外部模块支持
  --add-dynamic-module=PATH          enable dynamic external module
#编译相关的参数
  --with-cc=PATH                    set C compiler pathname #如果想设置一个不在默认path下的c编译器
  --with-cpp=PATH                    set C preprocessor pathname #设置c预处理器的相对路径
  --with-cc-opt=OPTIONS              set additional C compiler options #设置C编译器参数
  --with-ld-opt=OPTIONS              set additional linker options #包含连接库的路径和运行路径
  --with-cpu-opt=CPU                build for the specified CPU, valid values:pentium, pentiumpro, pentium3, pentium4,athlon, opteron, sparc32, sparc64, ppc64 #指定编译的CPU
 
  --without-pcre                    disable PCRE library usage #禁用pcre库
  --with-pcre                        force PCRE library usage #启用pcre库
  --with-pcre=DIR                    set path to PCRE library sources #指向pcre库文件目录
  --with-pcre-opt=OPTIONS            set additional build options for PCRE #在编译时为pcre库设置附加参数
  --with-pcre-jit                    build PCRE with JIT compilation support
 
  --with-md5=DIR                    set path to md5 library sources #指向md5库文件目录
  --with-md5-opt=OPTIONS            set additional build options for md5 #在编译时为md5库设置附加参数
  --with-md5-asm                    use md5 assembler sources #使用md5汇编源
 
  --with-sha1=DIR                    set path to sha1 library sources #指向sha1库目录
  --with-sha1-opt=OPTIONS            set additional build options for sha1 #在编译时为sha1库设置附加参数
  --with-sha1-asm                    use sha1 assembler sources #使用sha1汇编源
 
  --with-zlib=DIR                    set path to zlib library sources #指向zlib库目录
  --with-zlib-opt=OPTIONS            set additional build options for zlib #在编译时为zlib设置附加参数
  --with-zlib-asm=CPU                use zlib assembler sources optimized for the specified CPU, valid values: pentium, pentiumpro #为指定的CPU使用zlib汇编源进行优化
 
  --with-libatomic                  force libatomic_ops library usage # 为原子内存的更新操作的实现提供一个架构
  --with-libatomic=DIR              set path to libatomic_ops library sources #指向libatomic_ops安装目录
 
  --with-openssl=DIR                set path to OpenSSL library sources #指向openssl安装目录
  --with-openssl-opt=OPTIONS        set additional build options for OpenSSL #在编译时为openssl设置附加参数
 
  --with-debug                      enable debug logging #启用debug日志

--lock-path= 指向lock文件(nginx.lock)(安装文件锁定,防止安装文件被别人利用,或自己误操作。) 

[root@jiufengjing nginx-1.14.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module  &&make

一、安装前准备

6,编译汇总
Configuration summary

--user= 指定程序运行时的非特权用户 

&&make install  ##编译安装

1.安装PCRE

  • using system PCRE library
  • using system OpenSSL library
  • md5: using OpenSSL library
  • sha1: using OpenSSL library
  • using system zlib library
    nginx path prefix: "/usr/local/nginx"
    nginx binary file: "/usr/local/nginx/sbin/nginx"
    nginx modules path: "/usr/local/nginx/modules"
    nginx configuration prefix: "/usr/local/nginx/conf"
    nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
    nginx pid file: "/usr/local/nginx/logs/nginx.pid"
    nginx error log file: "/usr/local/nginx/logs/error.log"
    nginx http access log file: "/usr/local/nginx/logs/access.log"
    nginx http client request body temporary files: "client_body_temp"
    nginx http proxy temporary files: "proxy_temp"
    nginx http fastcgi temporary files: "fastcgi_temp"
    nginx http uwsgi temporary files: "uwsgi_temp"
    nginx http scgi temporary files: "scgi_temp"

--group= 指定程序运行时的非特权用户组 

Nginx常用编译选项说明

Nginx 模块必须在编译时就进行选择,目前不支持在运行时进行模块选择。在编译时,可以使用 ./configure --help查看编译帮助,会提供相关的编译选项。需要注意的一点就是大部分编译选项都有默认值,可以指定也可以不指定。另外编译选项一般以 --with开头的都是默认不会编译的,你需要用到什么功能就可以指定其编译选项;另外以 --without开头的选项表示这些模块都是默认会编译的,如果手动指定使用以 --without开头的选项表示你将会关闭此功能模块,慎用。

1)Nginx在编译时,运行期间与路径相关的各种参数

--prefix=PATH                        #指向安装目录

--sbin-path=PATH                     #指向(执行)程序文件(nginx)

--conf-path=PATH                     #指向配置文件(nginx.conf)

--error-log-path=PATH                #指向错误日志目录

--http-log-path=PATH                 #指定访问复制目录

--pid-path=PATH                      #指向pid文件(nginx.pid)

--lock-path=PATH                     #指向lock文件(nginx.lock)(安装文件锁定,防止安装文件被别人利用,或自己误操作。)

--builddir=PATH                      #指向编译目录

--http-client-body-temp-path=PATH    #设定http客户端请求临时文件路径

--http-proxy-temp-path=PATH          #设定http代理临时文件路径

--http-fastcgi-temp-path=PATH        #设定http fastcgi临时文件路径

--http-uwsgi-temp-path=PATH          #设定http uwsgi临时文件路径

--http-scgi-temp-path=PATH           #设定http scgi临时文件路径

 

2)一些权限、http、mail及依赖库模块

--user=USER                      #指定程序运行时的非特权用户

--group=USER                     #指定程序运行时的非特权用户组

--with-rtsig_module              #启用rtsig模块支持(实时信号)

--with-file-aio                  #启用file aio支持(一种APL文件传输格式)

--with-ipv6                      #启用ipv6支持

--with-select_module             #启用select模块支持(一种轮询模式,不推荐在高载环境下使用)禁用:--without-select_module

--with-poll_module               #启用poll模块支持(功能与select相同,与select特性相同,为一种轮询模式,不推荐在高载环境下使用)

--with-http_ssl_module           #启用支持https请求,需已安装openssl

--with-http_realip_module        #启用ngx_http_realip_module支持(这个模块允许从请求标头更改客户端的IP地址值,默认为关)

--with-http_addition_module      #启用ngx_http_addition_module支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)

--with-http_xslt_module          #启用ngx_http_xslt_module支持(过滤转换XML请求)

--with-http_image_filter_module  #启用支持传输JPEG/GIF/PNG 图片过滤,默认为不启用,gd库要用到

--with-http_sub_module           #启用ngx_http_sub_module支持(允许用一些其他文本替换nginx响应中的一些文本)

--with-http_dav_module           #启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)

--with-http_flv_module           #启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)

--with-http_gzip_static_module   #启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)

--with-http_random_index_module  #启用ngx_http_random_index_module支持(从目录中随机挑选一个目录索引)

--with-http_secure_link_module   #启用ngx_http_secure_link_module支持(计算和检查要求所需的安全链接网址)

--with-http_degradation_module   #启用ngx_http_degradation_module支持(允许在内存不足的情况下返回204或444码)

--with-http_stub_status_module   #启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)

--with-http_perl_module          #启用ngx_http_perl_module支持(该模块使nginx可以直接使用perl或通过ssi调用perl)

--with-mail                      #启用POP3/IMAP4/SMTP代理模块支持

--with-mail_ssl_module           #启用ngx_mail_ssl_module支持

--add-module=                    #启用外部模块支持

--with-cpu-opt=                  #指定编译的CPU,可用的值为: pentium,opteron, amd64, sparc32, sparc64, ppc64等

--with-pcre                      #启用pcre库(默认会自动去找rpm包安装的pcre库文件以及模块)

--with-pcre=                     #指向pcre库文件目录(如果是源码安装就需要指定,rpm包安装就不需要指定了)

--with-pcre-opt=                 #在编译时为pcre库设置附加参数

--with-perl_modules_path=        ##设定perl模块路径

--with-perl=                     #设定perl库文件路径

--with-debug                     #启用debug日志

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。

7,编译安装
  编译
  make
  安装
  make install
  加入PATH 
  ln -s /usr/local/nginx/sbin/nginx  /usr/sbin/nginx
  核查版本信息
123456 nginx -V
nginx version: nginx/1.10.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-pcre

--builddir= 指向编译目录 

默认启用的选项(等同于默认启用的模块)

--without-http                   #该模块用于http server功能

--without-http-cache             #该模块用于http cache功能

--without-http_charset_module    #该模块用于重新编码web页面,但只能是一个方向--服务器端到客户端,并且只有一个字节的编码可以被重新编码

--without-http_gzip_module       #该模块同-with-http_gzip_static_module功能一样

--without-http_ssi_module        #该模块提供了一个在输入端处理处理服务器包含文件(SSI)的过滤器,目前支持SSI命令的列表是不完整的

--without-http_userid_module     #该模块用来处理用来确定客户端后续请求的cookies

--without-http_access_module     #该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址

--without-http_auth_basic_module #该模块是可以使用用户名和密码基于http基本认证方法来保护你的站点或其部分内容

--without-http_autoindex_module  #该模块用于自动生成目录列表,只在ngx_http_index_module模块未找到索引文件时发出请求

--without-http_geo_module        #该模块用于创建一些变量,其值依赖于客户端的IP地址

--without-http_map_module        #该模块用于使用任意的键/值对设置配置变量

--without-http_referer_module    #该模块用来过滤请求,拒绝报头中Referer值不正确的请求

--without-http_rewrite_module    #该模块允许使用正则表达式改变URI

--without-http_proxy_module      #该模块用于代理服务器

--without-http_fastcgi_module    #该模块允许Nginx与FastCGI进程交互,并通过传递参数来控制FastCGI进程工作,FastCGI一个常驻型的公共网关接口

--without-http_uwsgi_module      #该模块启用uwsgi协议,uWSGI服务器相关

--without-http_scgi_module       #该模块用来启用SCGI协议支持,SCGI协议是CGI协议的替代,它是一种应用程序与HTTP服务接口标准

--without-http_memcached_module  #该模块用来提供简单的缓存,以提高系统效率

--without-http_limit_zone_module  #该模块可以针对条件,进行会话的并发连接数控制

--without-http_limit_req_module  #该模块允许你对于一个地址进行请求数量的限制用一个给定的session或一个特定的事件

--without-http_empty_gif_module  #该模块在内存中常驻了一个1*1的透明GIF图像,可以被非常快速的调用)

--without-http_browser_module    #该模块用来创建依赖于请求报头的值

--without-http_split_clients_module     #该模块用来基于某些条件划分用户。条件如:ip地址、报头、cookies等等

--without-http_upstream_ip_hash_module  #该模块用于负载均衡

--without-mail_pop3_module              #该模块用于pop3协议,邮局协议

--without-mail_imap_module              #该模块用于邮件的imap协议,邮件接收协议

--without-mail_smtp_module              #该模块用于smtp协议,邮件发送协议

 

[root@jiufengjing nginx-1.14.0]# ln -s /usr/local/nginx/sbin/nginx   /usr/local/sbin/ ###创建软链接,优化命令搜索路径

[root@jiufengjing nginx-1.14.0]# ls -l /usr/local/sbin/nginx

lrwxrwxrwx 1 root root 27 Aug 15 03:09 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

[root@jiufengjing nginx-1.14.0]# cd

[root@jiufengjing ~]# nginx -t  ##检查配置

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@jiufengjing ~]# nginx  ##启动服务

[root@jiufengjing ~]# netstat -utpln |grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      13592/nginx: master      

使用nginx服务启动脚本:

[root@jiufengjing ~]# vim /etc/init.d/nginx

(1)#!/bin/bash

# chkconfig: 35 99 20

# description: Nginx Server Control Script

NP="/usr/local/nginx/sbin/nginx"

NPF="/usr/local/nginx/logs/nginx.pid"

case "$1" in   ##$1表示第一位置变量,$0表示脚本本身

  start)

    $NP;

    if [ $? -eq 0 ]

    then

      echo "nginx is starting!! "

    fi

  ;;

  stop)

    kill -s QUIT $(cat $NPF)

    if [ $? -eq 0 ]

    then

    echo "nginx is stopping!! "

    fi

  ;;

  restart)

    $0 stop

    $0 start

  ;;

  reload)

    kill -s HUP $(cat $NPF)

    if [ $? -eq 0 ]

    then

      echo "nginx config file is reload! "

    fi

  ;;

  *)

    echo "Usage: $0 {start|stop|restart|reload}"

    exit 1

esac

exit 0

:wq

(2)#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start() 
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}

stop() 
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}

reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}
restart()
{
    stop
    start
}
configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac

[root@jiufengjing ~]# chkconfig --add nginx ##添加系统服务

[root@jiufengjing ~]# chmod +x /etc/init.d/nginx   ##授权

[root@jiufengjing ~]# /etc/init.d/nginx restart ##重启验证

nginx is stopping!!

nginx is starting!!

[root@jiufengjing ~]# netstat -utpln |grep nginx  ##查看nginx监听端口

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      14036/nginx: master     

访问验证

9159金沙官网 1

 

[root@jiufengjing ~]# elinks --dump 192.168.100.102

-dump:将HTML文档以纯文本的方式打印到标准输出设备;
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.

For online documentation and support please refer to [1]nginx.org.
Commercial support is available at [2]nginx.com.

Thank you for using nginx.

References

Visible links
1.
2.

PCRE被广泛使用在许多开源软件之中,最著名的莫过于Apache HTTP服务器和PHP脚本语言、R脚本语言,此外,正如从其名字所能看到的,PCRE也是perl语言的缺省正则库。

8,简单配置
我这次主要使用到tcp四层负载,后续可能涉及到https http2等,所以编译时添加了那些参数。
nginx.conf配置如下:
user  www www;
worker_processes  auto;
worker_cpu_affinity auto;
error_log  logs/error.log  error;
pid        logs/nginx.pid;
worker_rlimit_nofile 653600;
events
{
  use epoll;
  worker_connections 655350;
}
stream {
    upstream server {
        hash $remote_addr consistent;
        server 172.16.1.11:8081 weight=1 max_fails=3 fail_timeout=10s;
        server 172.16.1.22:8081 weight=1 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 8081;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass server;
    }
}

--with-rtsig_module 启用rtsig模块支持(实时信号) 

官网:

CentOS 7.2下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1  http://www.linuxidc.com/Linux/2016-09/134804.htm

--with-select_module 启用select模块支持(一种轮询模式,不推荐在高载环境下使用)禁用:–without-select_module 

[root@001 ~]# yum install pcre-devel pcre -y

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

--with-poll_module 启用poll模块支持(功能与select相同,与select特性相同,为一种轮询模式,不推荐在高载环境下使用) 

2.安装

CentOS 6.3下Nginx性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

--with-file-aio 启用file aio支持(一种APL文件传输格式) 

OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。#nginx加密主要是依赖openssl

CentOS 6.3下配置Nginx加载ngx_pagespeed模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

--with-ipv6 启用ipv6支持 

官网:

CentOS 6.4安装配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

--with-http_ssl_module 启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl) 

[root@001 ~]# yum install openssl openssl-devel -y

Nginx安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

--with-http_realip_module 启用ngx_http_realip_module支持(这个模块允许从请求标头更改客户端的IP地址值,默认为关)

3.安装编译器

Nginx日志过滤 使用ngx_log_if不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

--with-http_addition_module 启用ngx_http_addition_module支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求) 

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。

Nginx的500,502,504错误解决方法 http://www.linuxidc.com/Linux/2015-03/115507.htm

--with-http_xslt_module 启用ngx_http_xslt_module支持(过滤转换XML请求) 

[root@001 ~]# yum install gcc gcc-c++ -y

CentOS 7 编译安装Nginx1.10.2 脚本启动失败解决思路 http://www.linuxidc.com/Linux/2017-01/139794.htm

--with-http_image_filter_module 启用ngx_http_image_filter_module支持(传输JPEG/GIF/PNG 图片的一个过滤器)(默认为不启用。gd库要用到) 

[root@001 ~]# yum install wget -y

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

--with-http_geoip_module 启用ngx_http_geoip_module支持(该模块创建基于与MaxMind GeoIP二进制文件相配的客户端IP地址的ngx_http_geoip_module变量) 

4.添加用户

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139965.htm

--with-http_sub_module 启用ngx_http_sub_module支持(允许用一些其他文本替换nginx响应中的一些文本) 

[root@001 ~]# useradd nginx -s /sbin/nologin -M

9159金沙官网 2

--with-http_dav_module 启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)默认情况下为关闭,需编译开启 

(关闭防火墙及selinux)

--with-http_flv_module 启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件) 

二、安装 Nginx

--with-http_gzip_static_module 启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流) 

[root@001 ~]# wget

--with-http_random_index_module 启用ngx_http_random_index_module支持(从目录中随机挑选一个目录索引) 

[root@001 ~]# tar xf nginx-1.12.1.tar.gz -C /usr/local/src/

--with-http_secure_link_module 启用ngx_http_secure_link_module支持(计算和检查要求所需的安全链接网址) 

[root@001 ~]# cd !$

--with-http_degradation_module 启用ngx_http_degradation_module支持(允许在内存不足的情况下返回204或444码) 

[root@001 src]# cd nginx-1.12.1

--with-http_stub_status_module 启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态) 

[root@001 nginx-1.12.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

--without-http_charset_module 禁用ngx_http_charset_module支持(重新编码web页面,但只能是一个方向–服务器端到客户端,并且只有一个字节的编码可以被重新编码) 

--配置参数说明:

--without-http_gzip_module 禁用ngx_http_gzip_module支持(该模块同-with-http_gzip_static_module功能一样) 

--prefix=/usr/local/nginx #安装路径

--without-http_ssi_module 禁用ngx_http_ssi_module支持(该模块提供了一个在输入端处理处理服务器包含文件(SSI)的过滤器,目前支持SSI命令的列表是不完整的) 

--user=nginx #进程用户

--without-http_userid_module 禁用ngx_http_userid_module支持(该模块用来处理用来确定客户端后续请求的cookies) 

--group=nginx #进程组

--without-http_access_module 禁用ngx_http_access_module支持(该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址) 

--with-http_ssl_module #激活状态信息

--without-http_auth_basic_module禁用ngx_http_auth_basic_module(该模块是可以使用用户名和密码基于http基本认证方法来保护你的站点或其部分内容) 

--with-http_stub_status_module #激活ssl功能 ---更多参数详解见文章尾部

--without-http_autoindex_module 禁用disable ngx_http_autoindex_module支持(该模块用于自动生成目录列表,只在ngx_http_index_module模块未找到索引文件时发出请求。) 

--查看编译参数使用 -V:

--without-http_geo_module 禁用ngx_http_geo_module支持(创建一些变量,其值依赖于客户端的IP地址) 

[root@001 sbin]# ./nginx -V

--without-http_map_module 禁用ngx_http_map_module支持(使用任意的键/值对设置配置变量) 

nginx version: nginx/1.12.1

--without-http_split_clients_module 禁用ngx_http_split_clients_module支持(该模块用来基于某些条件划分用户。条件如:ip地址、报头、cookies等等) 

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

--without-http_referer_module 禁用disable ngx_http_referer_module支持(该模块用来过滤请求,拒绝报头中Referer值不正确的请求) 

built with OpenSSL 1.0.1e-fips 11 Feb 2013

--without-http_rewrite_module 禁用ngx_http_rewrite_module支持(该模块允许使用正则表达式改变URI,并且根据变量来转向以及选择配置。如果在server级别设置该选项,那么他们将在 location之前生效。如果在location还有更进一步的重写规则,location部分的规则依然会被执行。如果这个URI重写是因为location部分的规则造成的,那么 location部分会再次被执行作为新的URI。 这个循环会执行10次,然后Nginx会返回一个500错误。) 

TLS SNI support enabled

--without-http_proxy_module 禁用ngx_http_proxy_module支持(有关代理服务器) 

configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

--without-http_fastcgi_module 禁用ngx_http_fastcgi_module支持(该模块允许Nginx 与FastCGI 进程交互,并通过传递参数来控制FastCGI 进程工作。 )FastCGI一个常驻型的公共网关接口。

[root@001 nginx-1.12.1]# make && make install

--without-http_uwsgi_module 禁用ngx_http_uwsgi_module支持(该模块用来医用uwsgi协议,uWSGI服务器相关) 

[root@001 nginx-1.12.1]# cd /usr/local/nginx/sbin/

--without-http_scgi_module 禁用ngx_http_scgi_module支持(该模块用来启用SCGI协议支持,SCGI协议是CGI协议的替代。它是一种应用程序与HTTP服务接口标准。它有些像FastCGI但他的设计 更容易实现。) 

[root@001 sbin]# ./nginx #启动

--without-http_memcached_module 禁用ngx_http_memcached_module支持(该模块用来提供简单的缓存,以提高系统效率) 

#无报错则编译安装成功

--without-http_limit_zone_module 禁用ngx_http_limit_zone_module支持(该模块可以针对条件,进行会话的并发连接数控制) 

9159金沙官网 3

--without-http_limit_req_module 禁用ngx_http_limit_req_module支持(该模块允许你对于一个地址进行请求数量的限制用一个给定的session或一个特定的事件) 

9159金沙官网 4

--without-http_empty_gif_module 禁用ngx_http_empty_gif_module支持(该模块在内存中常驻了一个1*1的透明GIF图像,可以被非常快速的调用) 

三、将nginx加入到系统环境变量及service方式管理服务

--without-http_browser_module 禁用ngx_http_browser_module支持(该模块用来创建依赖于请求报头的值。如果浏览器为modern ,则$modern_browser等于modern_browser_value指令分配的值;如 果浏览器为old,则$ancient_browser等于 ancient_browser_value指令分配的值;如果浏览器为 MSIE中的任意版本,则 $msie等于1) 

1.将nginx加入到系统环境变量

--without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module支持(该模块用于简单的负载均衡) 

[root@001 sbin]# vim /etc/profile    #在/etc/profile 中加入如下内容

--with-http_perl_module 启用ngx_http_perl_module支持(该模块使nginx可以直接使用perl或通过ssi调用perl) 

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

--with-perl_modules_path= 设定perl模块路径 

[root@001 sbin]# source /etc/profile    #执行 source /etc/profile ,使配置文件生效。

--with-perl= 设定perl库文件路径 

[root@001 sbin]# nginx -s stop  #停止服务

--http-log-path= 设定access log路径 

[root@001 sbin]# nginx   #启动服务

--http-client-body-temp-path= 设定http客户端请求临时文件路径 

2.创建脚本把Nginx加为系统服务使其内使用(service nginx start/stop/restart)

--http-proxy-temp-path= 设定http代理临时文件路径 

[root@001 sbin]# vim /etc/init.d/nginx

--http-fastcgi-temp-path= 设定http fastcgi临时文件路径 

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx      #/注意你安装nginx是否这个路径
nginx_config=/usr/local/nginx/conf/nginx.conf      #/注意你安装nginx是否这个路径
nginx_pid=/log/nginx/nginx.pid      #/注意你安装nginx是否这个路径
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL

--http-uwsgi-temp-path= 设定http uwsgi临时文件路径 

[root@001 sbin]# chmod -R 755 /etc/init.d/nginx   #现在就可以使用service来关闭或开启服务

--http-scgi-temp-path= 设定http scgi临时文件路径 

9159金沙官网 5

--without-http 禁用http server功能 

 =========================到这Nginx安装完成 =========================

--without-http-cache 禁用http cache功能 

四、部署基于域名、ip、端口测试站点

--with-mail 启用POP3/IMAP4/SMTP代理模块支持 

Nginx目录下的目录说明:

--with-mail_ssl_module 启用ngx_mail_ssl_module支持 

9159金沙官网 6

--without-mail_pop3_module 禁用pop3协议(POP3即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。是因特网电子邮件的第一个离线协议标 准,POP3协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。POP3协议是TCP/IP协议族中的一员,主要用于 支持使用客户端远程管理在服务器上的电子邮件)

1.创建两个站点目录

--without-mail_imap_module 禁用imap协议(一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。IMAP协议运行在TCP/IP协议之上, 使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。) 

[root@001 ~]# mkdir /usr/local/nginx/html/www

--without-mail_smtp_module 禁用smtp协议(SMTP即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。) 

[root@001 ~]# mkdir /usr/local/nginx/html/bbs

--with-google_perftools_module 启用ngx_google_perftools_module支持(调试用,剖析程序性能瓶颈) 

2.编辑Nginx 配置文件

--with-cpp_test_module 启用ngx_cpp_test_module支持 

[root@001 ~]# egrep -v "#|^$" /usr/local/nginx/conf/nginx.conf.default > /usr/local/nginx/conf/nginx.conf #去掉配置文件注释与空行

--add-module= 启用外部模块支持 

3.基于域名站点目录

--with-cc= 指向C编译器路径 

[root@001 conf]# vim /usr/local/nginx/conf/nginx.conf

--with-cpp= 指向C预处理路径

修改如下内容:

--with-cc-opt= 设置C编译器参数(PCRE库,需要指定–with-cc-opt=”-I /usr/local/include”,如果使用select()函数则需要同时增加文件描述符数量,可以通过–with-cc- opt=”-D FD_SETSIZE=2048”指定。) 

worker_processes 1;

--with-ld-opt= 设置连接文件参数。(PCRE库,需要指定–with-ld-opt=”-L /usr/local/lib”。) 

events {

--with-cpu-opt= 指定编译的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64 

worker_connections 1024;

--without-pcre 禁用pcre库 

}

--with-pcre 启用pcre库 

http {

--with-pcre= 指向pcre库文件目录 

include mime.types;

--with-pcre-opt= 在编译时为pcre库设置附加参数 

default_type application/octet-stream;

--with-md5= 指向md5库文件目录(消息摘要算法第五版,用以提供消息的完整性保护) 

sendfile on;

--with-md5-opt= 在编译时为md5库设置附加参数 –with-md5-asm 使用md5汇编源 

keepalive_timeout 65;

--with-sha1= 指向sha1库目录(数字签名算法,主要用于数字签名) 

server {

--with-sha1-opt= 在编译时为sha1库设置附加参数 

listen 80;

--with-sha1-asm 使用sha1汇编源 

server_name www.test.com; #站点域名

--with-zlib= 指向zlib库目录 

location / {

--with-zlib-opt= 在编译时为zlib设置附加参数 

root html/www; #站点目录

--with-zlib-asm= 为指定的CPU使用zlib汇编源进行优化,CPU类型为pentium, pentiumpro 

index index.html index.htm;

--with-libatomic 为原子内存的更新操作的实现提供一个架构 

}

--with-libatomic= 指向libatomic_ops安装目录 

}

--with-openssl= 指向openssl安装目录 

添加:

--with-openssl-opt 在编译时为openssl设置附加参数 

server {

--with-debug 启用debug日志

listen 80;

server_name bbs.test.com; #站点域名

location / {

root html/bbs; #站点目录

index index.html index.htm;

}

}

}

 

[root@001 html]# /usr/local/nginx/sbin/nginx -t #检查配置文件是否有错

[root@001 html]# /usr/local/nginx/sbin/nginx -s reload #重新加载配置文件

Nginx 配置文件详解:

[root@001 html]# echo "www.test.com">> www/index.html #添加测试页面

[root@001 html]# echo "bbs.test.com">> bbs/index.html #添加测试页面

[root@001 html]# vim /etc/hosts #修改hosts配置文件

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.222 www.test.com #添加

192.168.1.222 bbs.test.com #添加

[root@001 sbin]# curl www.test.com

www.test.com #测试页面正常

[root@001 sbin]# curl bbs.test.com

bbs.test.com #测试页面正常

3.基于IP或端口的虚拟测试站点

[root@001 conf]# ip addr help

Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]

[ CONFFLAG-LIST]

ip addr del IFADDR dev STRING

ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]

[ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]

IFADDR := PREFIX | ADDR peer PREFIX

[ broadcast ADDR ] [ anycast ADDR ]

[ label STRING ] [ scope SCOPE-ID ]

SCOPE-ID := [ host | link | global | NUMBER ]

FLAG-LIST := [ FLAG-LIST ] FLAG

FLAG := [ permanent | dynamic | secondary | primary |

tentative | deprecated | CONFFLAG-LIST ]

CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG

CONFFLAG := [ home | nodad ]

LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]

LFT := forever | SECONDS

[root@001 conf]# ip addr add 192.168.1.234 dev eth0 #给网卡添加IP

[root@001 conf]# ip addr del 192.168.1.234 dev eth0 #查出ip命令

编辑配置文件注:基于ip的虚拟主机只需给网卡添加ip并修改listen即可

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {

listen 192.168.1.222:800; #基于ip或端口

server_name www.test.com; #站点域名

location / {

root html/www; #站点目录

index index.html index.htm;

}

}

server {

listen 192.168.1.234:808; #基于ip或端口

server_name bbs.test.com; #站点域名

location / {

root html/bbs; #站点目录

index index.html index.htm;  #基于IP或端口

}

}

}

 

附:Nginx编译参数详解:

--prefix= 指向安装目录

--sbin-path 指向(执行)程序文件(nginx)

--conf-path= 指向配置文件(nginx.conf)

--error-log-path= 指向错误日志目录

--pid-path= 指向pid文件(nginx.pid)

--lock-path= 指向lock文件(nginx.lock)(安装文件锁定,防止安装文件被别人利用,或自己误操作。)

--user= 指定程序运行时的非特权用户

--group= 指定程序运行时的非特权用户组

--builddir= 指向编译目录

--with-rtsig_module 启用rtsig模块支持(实时信号)

--with-select_module 启用select模块支持(一种轮询模式,不推荐在高载环境下使用)禁用:--without-select_module

--with-poll_module 启用poll模块支持(功能与select相同,与select特性相同,为一种轮询模式,不推荐在高载环境下使用)

--with-file-aio 启用file aio支持(一种APL文件传输格式)

--with-ipv6 启用ipv6支持

--with-http_ssl_module 启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl)

--with-http_realip_module 启用ngx_http_realip_module支持(这个模块允许从请求标头更改客户端的IP地址值,默认为关)

--with-http_addition_module 启用ngx_http_addition_module支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)

--with-http_xslt_module 启用ngx_http_xslt_module支持(过滤转换XML请求)

--with-http_image_filter_module 启用ngx_http_image_filter_module支持(传输JPEG/GIF/PNG 图片的一个过滤器)(默认为不启用。gd库要用到)

--with-http_geoip_module 启用ngx_http_geoip_module支持(该模块创建基于与MaxMind GeoIP二进制文件相配的客户端IP地址的ngx_http_geoip_module变量)

--with-http_sub_module 启用ngx_http_sub_module支持(允许用一些其他文本替换nginx响应中的一些文本)

--with-http_dav_module 启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)默认情况下为关闭,需编译开启

--with-http_flv_module 启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)

--with-http_gzip_static_module 启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)

--with-http_random_index_module 启用ngx_http_random_index_module支持(从目录中随机挑选一个目录索引)

--with-http_secure_link_module 启用ngx_http_secure_link_module支持(计算和检查要求所需的安全链接网址)

--with-http_degradation_module  启用ngx_http_degradation_module支持(允许在内存不足的情况下返回204或444码)

--with-http_stub_status_module 启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)

--without-http_charset_module 禁用ngx_http_charset_module支持(重新编码web页面,但只能是一个方向--服务器端到客户端,并且只有一个字节的编码可以被重新编码)

--without-http_gzip_module 禁用ngx_http_gzip_module支持(该模块同-with-http_gzip_static_module功能一样)

--without-http_ssi_module 禁用ngx_http_ssi_module支持(该模块提供了一个在输入端处理处理服务器包含文件(SSI)的过滤器,目前支持SSI命令的列表是不完整的)

--without-http_userid_module 禁用ngx_http_userid_module支持(该模块用来处理用来确定客户端后续请求的cookies)

--without-http_access_module 禁用ngx_http_access_module支持(该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址)

--without-http_auth_basic_module禁用ngx_http_auth_basic_module(该模块是可以使用用户名和密码基于http基本认证方法来保护你的站点或其部分内容)

--without-http_autoindex_module 禁用disable ngx_http_autoindex_module支持(该模块用于自动生成目录列表,只在ngx_http_index_module模块未找到索引文件时发出请求。)

--without-http_geo_module 禁用ngx_http_geo_module支持(创建一些变量,其值依赖于客户端的IP地址)

--without-http_map_module 禁用ngx_http_map_module支持(使用任意的键/值对设置配置变量)

--without-http_split_clients_module 禁用ngx_http_split_clients_module支持(该模块用来基于某些条件划分用户。条件如:ip地址、报头、cookies等等)

--without-http_referer_module 禁用disable ngx_http_referer_module支持(该模块用来过滤请求,拒绝报头中Referer值不正确的请求)

--without-http_rewrite_module 禁用ngx_http_rewrite_module支持(该模块允许使用正则表达式改变URI,并且根据变量来转向以及选择配置。如果在server级别设置该选项,那么他们将在 location之前生效。如果在location还有更进一步的重写规则,location部分的规则依然会被执行。如果这个URI重写是因为location部分的规则造成的,那么 location部分会再次被执行作为新的URI。这个循环会执行10次,然后Nginx会返回一个500错误。)

--without-http_proxy_module 禁用ngx_http_proxy_module支持(有关代理服务器)

--without-http_fastcgi_module 禁用ngx_http_fastcgi_module支持(该模块允许Nginx 与FastCGI 进程交互,并通过传递参数来控制FastCGI 进程工作。)FastCGI一个常驻型的公共网关接口。

--without-http_uwsgi_module 禁用ngx_http_uwsgi_module支持(该模块用来医用uwsgi协议,uWSGI服务器相关)

--without-http_scgi_module 禁用ngx_http_scgi_module支持(该模块用来启用SCGI协议支持,SCGI协议是CGI协议的替代。它是一种应用程序与HTTP服务接口标准。它有些像FastCGI但他的设计更容易实现。)

--without-http_memcached_module 禁用ngx_http_memcached_module支持(该模块用来提供简单的缓存,以提高系统效率)

-without-http_limit_zone_module 禁用ngx_http_limit_zone_module支持(该模块可以针对条件,进行会话的并发连接数控制)

--without-http_limit_req_module 禁用ngx_http_limit_req_module支持(该模块允许你对于一个地址进行请求数量的限制用一个给定的session或一个特定的事件)

--without-http_empty_gif_module 禁用ngx_http_empty_gif_module支持(该模块在内存中常驻了一个1*1的透明GIF图像,可以被非常快速的调用)

--without-http_browser_module 禁用ngx_http_browser_module支持(该模块用来创建依赖于请求报头的值。如果浏览器为modern ,则$modern_browser等于modern_browser_value指令分配的值;如果浏览器为old,则$ancient_browser等于 ancient_browser_value指令分配的值;如果浏览器为 MSIE中的任意版本,则 $msie等于1)

--without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module支持(该模块用于简单的负载均衡)

--with-http_perl_module 启用ngx_http_perl_module支持(该模块使nginx可以直接使用perl或通过ssi调用perl)

--with-perl_modules_path= 设定perl模块路径

--with-perl= 设定perl库文件路径

--http-log-path= 设定access log路径

--http-client-body-temp-path= 设定http客户端请求临时文件路径

--http-proxy-temp-path= 设定http代理临时文件路径

--http-fastcgi-temp-path= 设定http fastcgi临时文件路径

--http-uwsgi-temp-path= 设定http uwsgi临时文件路径

--http-scgi-temp-path= 设定http scgi临时文件路径

-without-http 禁用http server功能

--without-http-cache 禁用http cache功能

--with-mail 启用POP3/IMAP4/SMTP代理模块支持

--with-mail_ssl_module 启用ngx_mail_ssl_module支持

--without-mail_pop3_module 禁用pop3协议(POP3即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。POP3协议是TCP/IP协议族中的一员,主要用于支持使用客户端远程管理在服务器上的电子邮件)

--without-mail_imap_module 禁用imap协议(一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。)

--without-mail_smtp_module 禁用smtp协议(SMTP即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。)

--with-google_perftools_module 启用ngx_google_perftools_module支持(调试用,剖析程序性能瓶颈)

--with-cpp_test_module 启用ngx_cpp_test_module支持

--add-module= 启用外部模块支持

--with-cc= 指向C编译器路径

--with-cpp= 指向C预处理路径

--with-cc-opt= 设置C编译器参数(PCRE库,需要指定–with-cc-opt="-I /usr/local/include",如果使用select()函数则需要同时增加文件描述符数量,可以通过–with-cc- opt="-D FD_SETSIZE=2048"指定。)

--with-ld-opt= 设置连接文件参数。(PCRE库,需要指定–with-ld-opt="-L /usr/local/lib"。)

--with-cpu-opt= 指定编译的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64

--without-pcre 禁用pcre库

--with-pcre 启用pcre库

--with-pcre= 指向pcre库文件目录

--with-pcre-opt= 在编译时为pcre库设置附加参数

--with-md5= 指向md5库文件目录(消息摘要算法第五版,用以提供消息的完整性保护)

--with-md5-opt= 在编译时为md5库设置附加参数

--with-md5-asm 使用md5汇编源

--with-sha1= 指向sha1库目录(数字签名算法,主要用于数字签名)

--with-sha1-opt= 在编译时为sha1库设置附加参数

--with-sha1-asm 使用sha1汇编源

--with-zlib= 指向zlib库目录

--with-zlib-opt= 在编译时为zlib设置附加参数

--with-zlib-asm= 为指定的CPU使用zlib汇编源进行优化,CPU类型为pentium, pentiumpro

--with-libatomic 为原子内存的更新操作的实现提供一个架构

--with-libatomic= 指向libatomic_ops安装目录

--with-openssl= 指向openssl安装目录

--with-openssl-opt 在编译时为openssl设置附加参数

--with-debug 启用debug日志

编译参数详解:

Nginx 配置文件详解:

 

本文由9159.com发布于操作系统,转载请注明出处:安装依赖包,事实上nginx的并发能力确实在同类型

关键词: