linux学习:Nginx--简介与安装-01

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习:Nginx--简介与安装-01相关的知识,希望对你有一定的参考价值。

一、简介

1.1 nginx是什么

  Nginx是一款轻量级的Web服务器,也是一款轻量级的反向代理服务器

1.2 Nginx能干什么

 a、直接支持Rails和php的程序

 b、作为HTTP反向代理服务器

 c、作为负载均衡服务器

 d、作为邮件代理服务器

 e、帮助实现前缀动静态分离

 .....

1.3 Nginx特点

 高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署

二、安装

前置条件:

 提醒:

   请先检查/usr/bin下的gcc与make文件是不是空的,空的请先卸载掉,我就是因为没有卸载,所以出现的下面怎么多的坑。。。

 a、需要gcc,系统自带了,没有的话,需要先安装

  查看:

    rpm -qa|grep gcc

 安装:

    yum install gcc gcc-c++ autoconf autmake libtool make

 b、需要pcre,安装的命令如下:

     yum install pcre*

 c、需要zlib,安装的命令如下:

    yum install zlib zlib-devel

 d、如果需要支持ssl的话,安装OpenSSL,安装命令如下:

    yum install openssl openssl-devel

 e、上http://nginx.org/去下载源码包

安装:

 第1步:

  a、解压到/opt下,进入到nginx目录下

  b、安装

     ./configure --prefix=/usr/local/nginx --with-http_stub_status_module

   说明:

    --prefix:安装路径

    --with:配置选项

   异常:

      技术分享

   解决:先卸载gcc

        [[email protected] ~]# rpm -qa gcc
        gcc-4.4.7-17.el6.x86_64
        [[email protected] ~]# rpm -e gcc-4.4.7-17.el6.x86_64
        error: Failed dependencies:
	    gcc = 4.4.4 is needed by (installed) libtool-2.2.6-15.5.el6.x86_64
        [[email protected] ~]# rpm -e libtool-2.2.6-15.5.el6.x86_64
        [[email protected] ~]# rpm -qa gcc
        [[email protected] nginx-1.10.3]# gcc
        -bash: /usr/bin/gcc: No such file or directory

     卸载成功

     再次安装gcc:

         yum install gcc gcc-c++ autoconf autmake libtool make

   进入nginx目录下安装

        ./configure --prefix=/usr/local/nginx --with-http_stub_status_module

   成功:

    技术分享

 第2步:make、make install

  异常:没有任何信息

    技术分享

     查看/usr/bin下的make,发现是空的:

         技术分享

     卸载make:

        [[email protected] nginx-1.10.3]# rpm -qa make
        make-3.81-23.el6.x86_64
        [[email protected] nginx-1.10.3]# rpm -e --allmatches --nodeps make-3.81-23.el6.x86_64
        install-info: /usr/share/info/make.info.gz: empty file
        [[email protected] nginx-1.10.3]# rpm -qa make
        [[email protected] nginx-1.10.3]#

     安装make:

        yum -y install libtool make

   make成功。

    技术分享

  make install成功。

    技术分享

 第3步:启动测试

  进入到安装目录下的sbin目录:

    cd /usr/local/nginx/sbin

  测试配置文件:

    ./nginx -t

    技术分享

  启动:默认是80端口

        [[email protected] sbin]# ./nginx

    技术分享

 停止:./nginx -s stop 或者 ./nginx -s quit

 重启:./nginx -s reload

 查看进程:

    [[email protected] sbin]# ps -ef | grep nginx
    root     16984     1  0 20:15 ?        00:00:00 nginx: master process ./nginx
    nobody   16985 16984  0 20:15 ?        00:00:00 nginx: worker process
    root     16990  1405  0 20:21 pts/0    00:00:00 grep nginx



Nginx安装配置选项:

--prefix=<path>

    安装路径,如果没有指定,默认为/usr/local/nginx。

--sbin-path=<path>

    nginx可执行命令的文件,如果没有指定,默认为<prefix>/sbin/nginx。

--conf-path=<path>

    在没有使用-c参数指定的情况下nginx.conf的默认位置,如果没有指定,默认为<prefix>/conf/nginx.conf。

--pid-path=<path>

    nginx.pid的路径,如果没有在nginx.conf中通过“pid”指令指定,默认为<prefix>/logs/nginx.pid。

--lock-path=<path>

    nginx.lock文件路径,如果没有指定,默认为<prefix>/logs/nginx.lock。

--error-log-path=<path>

    当没有在nginx.conf中使用“error_log”指令指定时的错误日志位置,如果没有指定,默认为<prefix>/logs/error.log。

--http-log-path=<path>

    当没有在nginx.conf中使用“access_log”指令指定时的访问日志位置,如果没有指定,默认为<prefix>/logs/access.log。

--user=<user>

    当没有在nginx.conf中使用“user”指令指定时nginx运行的用户,如果没有指定,默认为“nobody”。

--group=<group>

    当没有在nginx.conf中使用“user”指令指定时nginx运行的组,如果没有指定,默认为“nobody”。

--builddir=DIR

    设置构建目录。

--with-rtsig_module

    启用rtsig模块。

--with-select_module –without-select_module

    如果在configure的时候没有发现kqueue, epoll,rtsig或/dev/poll其中之一,select模块始终为启用状态。

--with-poll_module –without-poll_module

    如果在configure的时候没有发现kqueue, epoll,rtsig或/dev/poll其中之一,poll模块始终为启用状态。

--with-http_ssl_module

    启用ngx_http_ssl_module,启用SSL支持并且能够处理HTTPS请求。需要OpenSSL,在Debian系统中,对应的包为libssl-dev。

--with-http_realip_module

    启用ngx_http_realip_module

--with-http_addition_module

    启用ngx_http_addition_module

--with-http_sub_module

    启用ngx_http_sub_module

--with-http_dav_module

    启用ngx_http_dav_module

--with-http_flv_module

    启用ngx_http_flv_module

--with-http_stub_status_module

    启用”server status”(服务状态)页

--without-http_charset_module

    禁用ngx_http_charset_module

--without-http_gzip_module

    禁用ngx_http_gzip_module,如果启用,需要zlib包。

--without-http_ssi_module

    禁用ngx_http_ssi_module

--without-http_userid_module

    禁用ngx_http_userid_module

--without-http_access_module

    禁用ngx_http_access_module

--without-http_auth_basic_module

    禁用ngx_http_auth_basic_module

--without-http_autoindex_module

    禁用ngx_http_autoindex_module

--without-http_geo_module

    禁用ngx_http_geo_module

--without-http_map_module

    禁用ngx_http_map_module

--without-http_referer_module

    禁用ngx_http_referer_module

--without-http_rewrite_module

    禁用ngx_http_rewrite_module。如果启用,需要PCRE包。

--without-http_proxy_module

    禁用ngx_http_proxy_module

--without-http_fastcgi_module

    禁用ngx_http_fastcgi_module

--without-http_memcached_module

    禁用ngx_http_memcached_module

--without-http_limit_zone_module

    禁用ngx_http_limit_zone_module

--without-http_empty_gif_module

    禁用ngx_http_empty_gif_module

--without-http_browser_module

    禁用ngx_http_browser_module

--without-http_upstream_ip_hash_module

    禁用ngx_http_upstream_ip_hash_module

--with-http_perl_module

    启用ngx_http_perl_module

--with-perl_modules_path=PATH

    为perl模块设置路径

--with-perl=PATH

    为perl库设置路径

--http-client-body-temp-path=PATH

    为http连接的请求实体临时文件设置路径,如果没有指定,默认为<prefix>/client_body_temp

--http-proxy-temp-path=PATH

    为http代理临时文件设置路径,如果没有指定,默认为<prefix>/proxy_temp

--http-fastcgi-temp-path=PATH

    为http fastcgi临时文件设置路径,如果没有指定,默认为<prefix>/fastcgi_temp

--without-http

    禁用HTTP服务

--with-mail

    启用IMAP4/POP3/SMTP代理模块

--with-mail_ssl_module

    启用ngx_mail_ssl_module

--with-cc=PATH

    设置C编译器路径

--with-cpp=PATH

    设置C预处理器路径

--with-cc-opt=OPTIONS

    变量CFLAGS中附加的参数,用于FreeBSD中的PCRE库,同样需要指定–with-cc-opt=”-I /usr/local/include”,如果我们使用select()函数则需要同时增加文件描述符数量,可以通过–with-cc-opt=”-D FD_SETSIZE=2048”指定。

--with-ld-opt=OPTIONS

    通过连接器的附加参数,用于FreeBSD中的PCRE库,同样需要指定–with-ld-opt=”-L /usr/local/lib”。

--with-cpu-opt=CPU

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

--without-pcre

    禁用PCRE库文件,同时将禁用HTTP rewrite 模块,如果要在”location”指令中使用正则表达式,同样需要PCRE库。

--with-pcre=DIR

    设置PCRE库源文件路径。

--with-pcre-opt=OPTIONS

    在编译时为PCRE设置附加参数。

--with-md5=DIR

    设置md5库源文件路径。

--with-md5-opt=OPTIONS

    在编译时为md5设置附加参数。

--with-md5-asm

    使用md5汇编源。

--with-sha1=DIR

    设置sha1库源文件路径。

--with-sha1-opt=OPTIONS

    在编译时为sha1设置附加参数。

--with-sha1-asm

    使用sha1汇编源。

--with-zlib=DIR

    设置zlib库源文件路径。

--with-zlib-opt=OPTIONS

    在编译时为zlib设置附加参数。

--with-zlib-asm=CPU

    为指定的CPU使用zlib汇编源进行优化,可用值为: pentium, pentiumpro。

--with-openssl=DIR

    设置openssl库源文件路径。

--with-openssl-opt=OPTIONS

    在编译时为openssl设置附加参数。

--with-debug

    启用debug记录。

--add-module=PATH

    增加一个在PATH中的第三方模块。

本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1912629

以上是关于linux学习:Nginx--简介与安装-01的主要内容,如果未能解决你的问题,请参考以下文章

linux的简介与安装

第四阶段 01_Linux安装与简介

linux下部署Nginx以及相关简介

lamp架构nginx简介及源码安装常用命令

lamp架构nginx简介及源码安装常用命令

prometheus+grafana简介与linux下的安装