• Nginx(一)安装及启停


    目录

    1 nginx安装

    2 nginx启停

        我发现很多博客排版杂乱,表达不清,读者看了往往云里雾里。我此前的博客也是如此,我自己很不满意。今起,每一篇博客都会用心写,此前的博客我也会尽力修改。至少要做到排版整洁,让自己满意,让别人能看懂。

    1 nginx安装

    1.1 安装的环境及版本

    环境:centos7(安装教程也适用于centos6)    版本:nginx/1.12.0   安装的方式:编译安装(配置yum源安装也可以,但本次忽略)

    1.2 安装

    (1)安装Nginx所需要的pcre库

      nginx重写功能会用到这个包。

    # yum install pcre pcre-devel –y

    (2)安装openssl-devel模块

      Nginx在使用https服务时要使用这个模块,不安装openssl相关的包,安装Nginx过程会报错。

    # yum install openssl openssl-devel

    (3) 安装Nginx

        1)创建nginx下载后的存放目录

     # mkdir –p /data/liuyouyuan
     # cd /data/liuyouyuan/

    2)下载并解压

    # wget http://nginx.org/download/nginx-1.12.0.tar.gz
    # tar zxvf nginx-1.12.0.tar.gz
    # cd nginx-1.12.0/

    3)生成Makefile,编译并安装

    补充:./configure 可选项。

    --help                             print this message
    
    --prefix=PATH                      set installation prefix        默认安装路径
    --sbin-path=PATH                   set nginx binary pathname      nginx主程序安装路径
    --modules-path=PATH                set modules path
    --conf-path=PATH                   set nginx.conf pathname        主配置文件安装路径
    --error-log-path=PATH              set error log pathname
    --pid-path=PATH                    set nginx.pid pathname
    --lock-path=PATH                   set nginx.lock pathname
    
    --user=USER                        set non-privileged user for worker processes  启动后用那个普通用户运行worker进程
    --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
    --without-select_module            disable select module
    --with-poll_module                 enable poll module
    --without-poll_module              disable poll module
    
    --with-threads                     enable thread pool support
    
    --with-file-aio                    enable file AIO support
    
    --with-http_ssl_module             enable ngx_http_ssl_module   启用https支持模块
    --with-http_v2_module              enable ngx_http_v2_module
    --with-http_realip_module          enable ngx_http_realip_module
    --with-http_addition_module        enable ngx_http_addition_module
    --with-http_xslt_module            enable ngx_http_xslt_module
    --with-http_xslt_module=dynamic    enable dynamic ngx_http_xslt_module
    --with-http_image_filter_module    enable ngx_http_image_filter_module
    --with-http_image_filter_module=dynamic
                                     enable dynamic ngx_http_image_filter_module
    --with-http_geoip_module           enable ngx_http_geoip_module
    --with-http_geoip_module=dynamic   enable dynamic ngx_http_geoip_module
    --with-http_sub_module             enable ngx_http_sub_module
    --with-http_dav_module             enable ngx_http_dav_module
    --with-http_flv_module             enable ngx_http_flv_module             支持流媒体
    --with-http_mp4_module             enable ngx_http_mp4_module
    --with-http_gunzip_module          enable ngx_http_gunzip_module
    --with-http_gzip_static_module     enable ngx_http_gzip_static_module     静态文件压缩
    --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
    --with-http_degradation_module     enable ngx_http_degradation_module
    --with-http_slice_module           enable ngx_http_slice_module
    --with-http_stub_status_module     enable ngx_http_stub_status_module    http状态页面?
    
    --without-http_charset_module      disable ngx_http_charset_module
    --without-http_gzip_module         disable ngx_http_gzip_module          
    --without-http_ssi_module          disable ngx_http_ssi_module
    --without-http_userid_module       disable ngx_http_userid_module
    --without-http_access_module       disable ngx_http_access_module
    --without-http_auth_basic_module   disable ngx_http_auth_basic_module
    --without-http_autoindex_module    disable ngx_http_autoindex_module
    --without-http_geo_module          disable ngx_http_geo_module
    --without-http_map_module          disable ngx_http_map_module
    --without-http_split_clients_module disable ngx_http_split_clients_module
    --without-http_referer_module      disable ngx_http_referer_module
    --without-http_rewrite_module      disable ngx_http_rewrite_module
    --without-http_proxy_module        disable ngx_http_proxy_module
    --without-http_fastcgi_module      disable ngx_http_fastcgi_module
    --without-http_uwsgi_module        disable ngx_http_uwsgi_module
    --without-http_scgi_module         disable ngx_http_scgi_module
    --without-http_memcached_module    disable ngx_http_memcached_module
    --without-http_limit_conn_module   disable ngx_http_limit_conn_module
    --without-http_limit_req_module    disable ngx_http_limit_req_module
    --without-http_empty_gif_module    disable ngx_http_empty_gif_module
    --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
    --with-http_perl_module=dynamic    enable dynamic ngx_http_perl_module
    --with-perl_modules_path=PATH      set Perl modules path
    --with-perl=PATH                   set perl binary pathname
    
    --http-log-path=PATH               set http access log pathname
    --http-client-body-temp-path=PATH  set path to store http client request body temporary files 客户端传文件的临时存放路径
    --http-proxy-temp-path=PATH        set path to store http proxy temporary files  从代理服务器取来的数据临时存放路径
    --http-fastcgi-temp-path=PATH      set path to store
                                     http fastcgi temporary files
    --http-uwsgi-temp-path=PATH        set path to store
                                     http uwsgi temporary files
    --http-scgi-temp-path=PATH         set path to store
                                     http scgi temporary files
    
    --without-http                     disable HTTP server
    --without-http-cache               disable HTTP cache
    
    --with-mail                        enable POP3/IMAP4/SMTP proxy module
    --with-mail=dynamic                enable dynamic POP3/IMAP4/SMTP proxy module
    --with-mail_ssl_module             enable ngx_mail_ssl_module
    --without-mail_pop3_module         disable ngx_mail_pop3_module
    --without-mail_imap_module         disable ngx_mail_imap_module
    --without-mail_smtp_module         disable ngx_mail_smtp_module
    
    --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
    --with-stream_realip_module        enable ngx_stream_realip_module
    --with-stream_geoip_module         enable ngx_stream_geoip_module
    --with-stream_geoip_module=dynamic enable dynamic ngx_stream_geoip_module
    --with-stream_ssl_preread_module   enable ngx_stream_ssl_preread_module
    --without-stream_limit_conn_module disable ngx_stream_limit_conn_module
    --without-stream_access_module     disable ngx_stream_access_module
    --without-stream_geo_module        disable ngx_stream_geo_module
    --without-stream_map_module        disable ngx_stream_map_module
    --without-stream_split_clients_module
                                     disable ngx_stream_split_clients_module
    --without-stream_return_module     disable ngx_stream_return_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-compat                      dynamic modules compatibility
    
    --with-cc=PATH                     set C compiler pathname
    --with-cpp=PATH                    set C preprocessor pathname
    --with-cc-opt=OPTIONS              set additional C compiler options
    --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
    
    --without-pcre                     disable PCRE library usage
    --with-pcre                        force PCRE library usage
    --with-pcre=DIR                    set path to PCRE library sources
    --with-pcre-opt=OPTIONS            set additional build options for PCRE
    --with-pcre-jit                    build PCRE with JIT compilation support
    
    --with-zlib=DIR                    set path to zlib library sources
    --with-zlib-opt=OPTIONS            set additional build options for zlib
    --with-zlib-asm=CPU                use zlib assembler sources optimized
                                     for the specified CPU, valid values:
                                     pentium, pentiumpro
    
    --with-libatomic                   force libatomic_ops library usage
    --with-libatomic=DIR               set path to libatomic_ops library sources
    
    --with-openssl=DIR                 set path to OpenSSL library sources
    --with-openssl-opt=OPTIONS         set additional build options for OpenSSL
    
    --with-debug                       enable debug logging
    . ./configure选项

    编译安装命令:

    # ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    # make
    # make install

    4)创建软连接

    # ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

    5)安装成功验证

    # nginx -v

    如:

     备注:我们在执行命令完成后都应该验证一下。

    2 nginx启停

    2.1 启停总结

      前提:(1)nginx的根目录为/usr/local/nginx;(2)/usr/loacla/nginx/sbin/nginx软连接--->/usr/bin/nginx

    # nginx                               按默认配置启动
    # nginx –c file.conf(接配置文件)       标准启动*****
    
    # kill -QUIT 主进程号                  从容停止
    # kill -TERM 主进程号                  快速停止
    # pkill -9 nginx                      强制停止*****
    # killall -9 nginx                    停止所有*****
    # kill -信号类型 ‘/usr/nginx/logs/nginx.pid’     这样停止也可以
    
    # kill -HUP 主进程号/进程号文件路径      平滑重启
    # /usr/nginx/sbin/nginx -s reload     平滑重启**
    
    # nginx -t -c /usr/local/nginx/conf/nginx.conf  验证配置语法
    # /usr/local/nginx/sbin/nginx -t                验证配置语法*****
    
    # 不常用的平滑升级:
    
    # kill -USR2 旧版程序的主进程号或进程文件名
    # 此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。
    
    # kill -WINCH 旧版主进程号
    # 慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版工作进程。
    
    # kill -HUP 旧/新版主进程号           不重载配置启动新/旧工作进程
    # kill -QUIT 旧/新主进程号            从容关闭旧/新进程
    # kill -TERM 旧/新工作进程号          上步命令如果提示还有进程没有结束就用这个命令先关闭旧/新工作进程,再关闭主进程号

    查看帮助信息:

    [root@liuyouyuan HuJinLogDownload]# /usr/local/nginx/sbin/nginx -h
    nginx version: nginx/1.12.0
    Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
    
    Options:
      -?,-h         : this help
      -v            : show version and exit
      -V            : show version and configure options then exit
      -t            : test configuration and exit
      -T            : test configuration, dump it and exit
      -q            : suppress non-error messages during configuration testing
      -s signal     : send signal to a master process: stop, quit, reopen, reload
      -p prefix     : set prefix path (default: /usr/local/nginx/)
      -c filename   : set configuration file (default: conf/nginx.conf)
      -g directives : set global directives out of configuration file

    nginx的配置不是三言两语就能说明白,所以我打算另外写一到两篇博客来描述。

  • 相关阅读:
    [javascript] vuejs为输入框增加回车事件
    iview上的兼容性问题
    python+vscode安装与插件配置
    Chrome浏览器获取XPATH的方法----通过开发者工具获取
    使用谷歌浏览器定位xpath是否准确
    [PHP] xpath提取网页数据内容
    PHP中preg_match正则匹配的/u /i /s是什么意思
    Flink connect 算子实践
    DataStreamUtils 连续keyBy 优化
    Heartbeat原理及部署
  • 原文地址:https://www.cnblogs.com/zingp/p/7210361.html
Copyright © 2020-2023  润新知