安装依赖包

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日志

[安装依赖包。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

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

[安装依赖包。root@jiufengjing ~]# cd
/usr/src/nginx-1.14.0/

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

&&make install 
##编译安装

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

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

安装Nginx:

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

–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     

访问验证

澳门太阳集团城网址 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.

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图