• CentOS6.9编译安装nginx1.4.7


    1.系统安装开发包组和zlib-devel,关闭iptables

    [root@bogon ~]# yum groupinstall -y "Development Tools"
    [root@bogon ~]# yum install -y zlib-devel
    [root@bogon ~]# yum install -y openssl
    [root@bogon ~]# service iptables stop
    iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
    iptables: Flushing firewall rules:                         [  OK  ]
    iptables: Unloading modules: 
    

    2.下载nginx的源码包到本地

    [root@bogon ~]# ll nginx-1.4.7.tar.gz 
    -rw-r--r--. 1 root root 769153 Jun  1  2017 nginx-1.4.7.tar.gz
    

    3.解压nginx源码包

    [root@bogon ~]# tar -xf nginx-1.4.7.tar.gz
    

    4.进入解压目录

    [root@bogon ~]# cd nginx-1.4.7
    

    5.开始编译,生成makefile文件

    [root@bogon nginx-1.4.7]# ./configure --prefix=/usr --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/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --with-http_ssl_module
    .....
    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 ... not 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/access.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: "/var/tmp/nginx/uwsgi"
      nginx http scgi temporary files: "/var/tmp/nginx/scgi"
    

    6.开始安装nginx

    [root@bogon nginx-1.4.7]# make && make install
    make -f objs/Makefile
    make[1]: Entering directory `/root/nginx-1.4.7'
    cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs 
        	-o objs/src/core/nginx.o 
    		src/core/nginx.c
    cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs 
    		-o objs/src/core/ngx_log.o 
    		src/core/ngx_log.c
    cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs 
    		-o objs/src/core/ngx_palloc.o 
    		src/core/ngx_palloc.c
    cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs 
    		-o objs/src/core/ngx_array.o 
    		src/core/ngx_array.c
    
    ....
    make[1]: Leaving directory `/root/nginx-1.4.7'
    make -f objs/Makefile manpage
    make[1]: Entering directory `/root/nginx-1.4.7'
    sed -e "s|%%PREFIX%%|/usr|" 
    		-e "s|%%PID_PATH%%|/var/run/nginx/nginx.pid|" 
    		-e "s|%%CONF_PATH%%|/etc/nginx/nginx.conf|" 
    		-e "s|%%ERROR_LOG_PATH%%|/var/log/nginx/error.log|" 
    		< man/nginx.8 > objs/nginx.8
    make[1]: Leaving directory `/root/nginx-1.4.7'
    make -f objs/Makefile install
    make[1]: Entering directory `/root/nginx-1.4.7'
    test -d '/usr' || mkdir -p '/usr'
    test -d '/usr/sbin' 		|| mkdir -p '/usr/sbin'
    test ! -f '/usr/sbin/nginx' 		|| mv '/usr/sbin/nginx' 			'/usr/sbin/nginx.old'
    cp objs/nginx '/usr/sbin/nginx'
    test -d '/etc/nginx' 		|| mkdir -p '/etc/nginx'
    cp conf/koi-win '/etc/nginx'
    cp conf/koi-utf '/etc/nginx'
    cp conf/win-utf '/etc/nginx'
    test -f '/etc/nginx/mime.types' 		|| cp conf/mime.types '/etc/nginx'
    cp conf/mime.types '/etc/nginx/mime.types.default'
    test -f '/etc/nginx/fastcgi_params' 		|| cp conf/fastcgi_params '/etc/nginx'
    cp conf/fastcgi_params 		'/etc/nginx/fastcgi_params.default'
    test -f '/etc/nginx/fastcgi.conf' 		|| cp conf/fastcgi.conf '/etc/nginx'
    cp conf/fastcgi.conf '/etc/nginx/fastcgi.conf.default'
    test -f '/etc/nginx/uwsgi_params' 		|| cp conf/uwsgi_params '/etc/nginx'
    cp conf/uwsgi_params 		'/etc/nginx/uwsgi_params.default'
    test -f '/etc/nginx/scgi_params' 		|| cp conf/scgi_params '/etc/nginx'
    cp conf/scgi_params 		'/etc/nginx/scgi_params.default'
    test -f '/etc/nginx/nginx.conf' 		|| cp conf/nginx.conf '/etc/nginx/nginx.conf'
    cp conf/nginx.conf '/etc/nginx/nginx.conf.default'
    test -d '/var/run/nginx' 		|| mkdir -p '/var/run/nginx'
    test -d '/var/log/nginx' || 		mkdir -p '/var/log/nginx'
    test -d '/usr/html' 		|| cp -R html '/usr'
    test -d '/var/log/nginx' || 		mkdir -p '/var/log/nginx'
    make[1]: Leaving directory `/root/nginx-1.4.7'
    

    7.测试nginx的配置语法

    #查看nginx的帮助
    [root@bogon nginx-1.4.7]# /usr/sbin/nginx -h
    nginx version: nginx/1.4.7
    Usage: nginx [-?hvVtq] [-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
      -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/)
      -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
      -g directives : set global directives out of configuration file
    #测试配置文件的语法
    [root@bogon nginx-1.4.7]# /usr/sbin/nginx -t
    #显示语法正确
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    #显示系统上没有nginx这个用户
    nginx: [emerg] getpwnam("nginx") failed
    #配置文件测试失败
    nginx: configuration file /etc/nginx/nginx.conf test failed
    

    8.添加nginx这个系统用户,然后测试配置文件语法

    #添加nginx这个系统用户
    [root@bogon nginx-1.4.7]# useradd -r nginx
    #测试配置文件语法
    [root@bogon nginx-1.4.7]# /usr/sbin/nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    #显示/var/tmp/nginx这个临时目录不存在
    nginx: [emerg] mkdir() "/var/tmp/nginx/client" failed (2: No such file or directory)
    nginx: configuration file /etc/nginx/nginx.conf test failed
    

    9.建立nginx的临时目录,然后测试配置文件的语法

    #建立nginx临时目录
    [root@bogon nginx-1.4.7]# mkdir /var/tmp/nginx
    [root@bogon nginx-1.4.7]# /usr/sbin/nginx -t
    #显示nginx配置文件语法正确
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    #测试nginx配置文件成功
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    10.启动nginx

    #启动nginx
    [root@bogon nginx-1.4.7]#  /usr/sbin/nginx
    #查看是否启动成功
    [root@bogon nginx-1.4.7]# ss -tnl | grep 80
    LISTEN     0      128                       *:80                       *:*    
    

    11.查看系统IP地址,打开nginx的本地网页

    [root@bogon ~]# ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:9C:2B:A5  
              inet addr:192.168.16.87  Bcast:192.168.16.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe9c:2ba5/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1648500 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2193 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:1606718906 (1.4 GiB)  TX bytes:176876 (172.7 KiB)
    

  • 相关阅读:
    编写JS代码的“use strict”严格模式及代码压缩知识
    开发网站要从用户的角度出发!
    你好,世界
    JavaScript的几种函数的结构形式
    JavaScript功能检测技术和函数构造
    android打造万能的适配器
    C语言第二次博客作业分支结构
    C语言第三次博客作业单层循环结构
    C语言第一次博客作业——输入输出格式
    C语言第四次博客作业嵌套循环
  • 原文地址:https://www.cnblogs.com/renpingsheng/p/6936874.html
Copyright © 2020-2023  润新知