阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS6.9编译安装Nginx1.4.7

155次阅读
没有评论

共计 8142 个字符,预计需要花费 21 分钟才能阅读完成。

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

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

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

[root@linuxidc.com ~]# 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@linuxidc.com ~]# tar -xf nginx-1.4.7.tar.gz

4. 进入解压目录

[root@linuxidc.com ~]# cd nginx-1.4.7

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

[root@linuxidc.com 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@linuxidc.com 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@linuxidc.com 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@linuxidc.com 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@linuxidc.com nginx-1.4.7]# useradd -r nginx
# 测试配置文件语法 
[root@linuxidc.com 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@linuxidc.com nginx-1.4.7]# mkdir /var/tmp/nginx
[root@linuxidc.com 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@linuxidc.com nginx-1.4.7]#  /usr/sbin/nginx
# 查看是否启动成功 
[root@linuxidc.com nginx-1.4.7]# ss -tnl | grep 80
LISTEN     0      128                       *:80                       *:*    

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

[root@linuxidc.com ~]# 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)

CentOS6.9 编译安装 Nginx1.4.7

CentOS 7 下 Nginx 服务器的安装配置  http://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS 上安装 Nginx 服务器实现虚拟主机和域名重定向  http://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装 LNMP 环境(Linux+Nginx+MySQL+PHP)http://www.linuxidc.com/Linux/2017-04/142880.htm

Linux 下安装 PHP 环境并配置 Nginx 支持 php-fpm 模块  http://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx 服务的 SSL 认证和 htpasswd 认证  http://www.linuxidc.com/Linux/2017-04/142478.htm

Linux 中安装配置 Nginx 及参数详解  http://www.linuxidc.com/Linux/2017-05/143853.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

CentOS 7.2 下 Nginx+PHP+MySQL+Memcache 缓存服务器安装配置  http://www.linuxidc.com/Linux/2017-03/142168.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-06/144473.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计8142字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中