zoukankan      html  css  js  c++  java
  • 转:CentOS 7 安装Nginx

    一、准备工作:

    1、安装必备工具:

    1
    2
    3
    $ yum -y install gcc gcc-c++ autoconf automake
     
    $ yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

    说明:

    pcre: 用来作地址重写的功能。

    zlib:nginx 的gzip模块,传输数据打包,省流量(但消耗资源)。

    openssl:提供ssl加密协议。

    2、新建一个系统级用户组和匿名用户,以及下面编译时使用

    1
    2
    3
    $ sudo groupadd -r nginx
     
    $ sudo useradd -s /sbin/nologin -g nginx -r nginx

    二、Nginx编译安装:

    1、下载Nginx:http://nginx.org/en/download.html

    2、解压编译:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    $ tar -zxvf nginx-1.9.2.tar.gz
     
    $ cd nginx-1.9.2/
     
    $ ./configure
    --prefix=/etc/nginx
    --sbin-path=/usr/sbin/nginx
    --conf-path=/etc/nginx/nginx.conf
    --error-log-path=/var/log/nginx/error.log
    --http-log-path=/var/log/nginx/access.log
    --pid-path=/var/run/nginx.pid
    --lock-path=/var/run/nginx.lock
    --http-client-body-temp-path=/var/cache/nginx/client_temp
    --http-proxy-temp-path=/var/cache/nginx/proxy_temp
    --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
    --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
    --http-scgi-temp-path=/var/cache/nginx/scgi_temp
    --user=nginx
    --group=nginx
    --with-http_ssl_module
    --with-http_realip_module
    --with-http_addition_module
    --with-http_sub_module
    --with-http_dav_module
    --with-http_flv_module
    --with-http_mp4_module
    --with-http_gunzip_module
    --with-http_gzip_static_module
    --with-http_random_index_module
    --with-http_secure_link_module
    --with-http_stub_status_module
    --with-http_auth_request_module
    --with-mail
    --with-mail_ssl_module
    --with-file-aio
    --with-ipv6
    --with-http_spdy_module
    --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'

    上面的参数的作用可以通过--help来查看下文附加1中有提供

    1
    $ ./configure --help

    编译日志:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    checking for OS
     + Linux 3.10.0-229.4.2.el7.x86_64 x86_64
    checking for C compiler ... found
     + using GNU C compiler
     + gcc version: 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC)
    checking for gcc -pipe switch ... found
    checking for gcc builtin atomic operations ... found
    checking for C99 variadic macros ... found
    checking for gcc variadic macros ... found
    checking for unistd.h ... found
    checking for inttypes.h ... found
    checking for limits.h ... found
    checking for sys/filio.h ... not found
    checking for sys/param.h ... found
    checking for sys/mount.h ... found
    checking for sys/statvfs.h ... found
    checking for crypt.h ... found
    checking for Linux specific features
    checking for epoll ... found
    checking for EPOLLRDHUP ... found
    checking for O_PATH ... found
    checking for sendfile() ... found
    checking for sendfile64() ... found
    checking for sys/prctl.h ... found
    checking for prctl(PR_SET_DUMPABLE) ... found
    checking for sched_setaffinity() ... found
    checking for crypt_r() ... found
    checking for sys/vfs.h ... found
    checking for poll() ... found
    checking for /dev/poll ... not found
    checking for kqueue ... not found
    checking for crypt() ... not found
    checking for crypt() in libcrypt ... found
    checking for F_READAHEAD ... not found
    checking for posix_fadvise() ... found
    checking for O_DIRECT ... found
    checking for F_NOCACHE ... not found
    checking for directio() ... not found
    checking for statfs() ... found
    checking for statvfs() ... found
    checking for dlopen() ... not found
    checking for dlopen() in libdl ... found
    checking for sched_yield() ... found
    checking for SO_SETFIB ... not found
    checking for SO_REUSEPORT ... found
    checking for SO_ACCEPTFILTER ... not found
    checking for TCP_DEFER_ACCEPT ... found
    checking for TCP_KEEPIDLE ... found
    checking for TCP_FASTOPEN ... not found
    checking for TCP_INFO ... found
    checking for accept4() ... found
    checking for eventfd() ... found
    checking for int size ... 4 bytes
    checking for long size ... 8 bytes
    checking for long long size ... 8 bytes
    checking for void * size ... 8 bytes
    checking for uint64_t ... found
    checking for sig_atomic_t ... found
    checking for sig_atomic_t size ... 4 bytes
    checking for socklen_t ... found
    checking for in_addr_t ... found
    checking for in_port_t ... found
    checking for rlim_t ... found
    checking for uintptr_t ... uintptr_t found
    checking for system byte ordering ... little endian
    checking for size_t size ... 8 bytes
    checking for off_t size ... 8 bytes
    checking for time_t size ... 8 bytes
    checking for setproctitle() ... not found
    checking for pread() ... found
    checking for pwrite() ... found
    checking for sys_nerr ... found
    checking for localtime_r() ... found
    checking for posix_memalign() ... found
    checking for memalign() ... found
    checking for mmap(MAP_ANON|MAP_SHARED) ... found
    checking for mmap("/dev/zero", MAP_SHARED) ... found
    checking for System V shared memory ... found
    checking for POSIX semaphores ... not found
    checking for POSIX semaphores in libpthread ... found
    checking for struct msghdr.msg_control ... found
    checking for ioctl(FIONBIO) ... found
    checking for struct tm.tm_gmtoff ... found
    checking for struct dirent.d_namlen ... not found
    checking for struct dirent.d_type ... found
    checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
    checking for openat(), fstatat() ... found
    checking for getaddrinfo() ... found
    checking for PCRE library ... found
    checking for PCRE JIT support ... found
    checking for OpenSSL library ... found
    checking for zlib library ... found
    creating objs/Makefile
     
    Configuration summary
      + using system PCRE library
      + using system OpenSSL library
      + md5: using OpenSSL library
      + sha1: using OpenSSL library
      + using system zlib library
     
      nginx path prefix: "/usr"
      nginx binary file: "/usr/sbin/nginx"
      nginx configuration prefix: "/etc/nginx"
      nginx configuration file: "/etc/nginx/nginx.conf"
      nginx pid file: "/var/run/nginx/nginx.pid"
      nginx error log file: "/var/log/nginx/error.log"
      nginx http access log file: "/var/log/nginx/http.log"
      nginx http client request body temporary files: "/var/tmp/nginx/client"
      nginx http proxy temporary files: "/var/tmp/nginx/proxy"
      nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"

    好像很成功。

    3、安装:

    1
    $ make && make install

    4、启动:

    1
    $ nginx -c /etc/nginx/nginx.conf

    如果提示缺什么包,直接用yum安装

    1
    $ yum install xxxxx
    如果提示:
    nginx: [emerg] mkdir() "/var/tmp/nginx/client_temp" failed (2: No such file or directory)

    则用管理员去mkdir 创建文件夹后再启动。

    对于nginx的操作,指令比较长,也不便于操作,因此可以使用脚本,教程中转:

    CentOS 7 Nginx 控制脚本

    附加1:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    --help                             print this message
     
      --prefix=PATH                      set installation prefix
      --sbin-path=PATH                   set nginx binary pathname
      --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
      --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-ipv6                        enable IPv6 support
     
      --with-http_ssl_module             enable ngx_http_ssl_module
      --with-http_spdy_module            enable ngx_http_spdy_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_image_filter_module    enable ngx_http_image_filter_module
      --with-http_geoip_module           enable 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_stub_status_module     enable ngx_http_stub_status_module
     
      --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-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_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 proxy module
      --with-stream_ssl_module           enable ngx_stream_ssl_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 an external module
     
      --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-md5=DIR                     set path to md5 library sources
      --with-md5-opt=OPTIONS             set additional build options for md5
      --with-md5-asm                     use md5 assembler sources
     
      --with-sha1=DIR                    set path to sha1 library sources
      --with-sha1-opt=OPTIONS            set additional build options for sha1
      --with-sha1-asm                    use sha1 assembler sources
     
      --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
  • 相关阅读:
    cefsharp设置默认语言
    C#创建委托实例
    C++/C#互调步骤
    mybatis别名
    redis
    数据库优化方面的事情:
    Properties类使用详解
    七层协议以及如何很好得记忆
    Http 请求到后端过程
    【转】那些年用过的Redis集群架构(含面试解析)
  • 原文地址:https://www.cnblogs.com/sl21100/p/4907111.html
Copyright © 2011-2022 走看看