CentOS 7.2 编译安装 Nginx1.12.2

8,753次阅读
没有评论

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

CentOS 7.2 编译安装 Nginx1.12.2
[v_act]环境说明:[/v_act]
1、系统:CentOS最小化安装;升级软件补丁,内核和系统版本不升级;关闭SELinux和防火墙。系统安装可参考[neilian ids=595]2、软件:安装包统一放置在/usr/src目录下,安装位置统一在/usr/local目录下。
[v_act]开始安装:[/v_act]
1、安装Nginx所需pcre库,官方网站(www.pcre.org)。安装pcre库是为了使Nginx支持具备URL重写功能的Rewite模块,如不安装则Nginx无法使用此模块功能(典型功能为伪静态)。

[root@localhost ~]# yum -y install pcre-devel
Loaded plugins: fastestmirror
base                                                                                                                                                                                    | 3.6 kB  00:00:00     
extras                                                                                                                                                                                  | 3.4 kB  00:00:00     
updates                                                                                                                                                                                 | 3.4 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package pcre-devel.x86_64 0:8.32-17.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================================================================
 Package                                             Arch                                            Version                                               Repository                                     Size
===============================================================================================================================================================================================================
Installing:
 pcre-devel                                          x86_64                                          8.32-17.el7                                           base                                          480 k

Transaction Summary
===============================================================================================================================================================================================================
Install  1 Package

Total download size: 480 k
Installed size: 1.4 M
Downloading packages:
pcre-devel-8.32-17.el7.x86_64.rpm                                                                                                                                                       | 480 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pcre-devel-8.32-17.el7.x86_64                                                                                                                                                               1/1 
  Verifying  : pcre-devel-8.32-17.el7.x86_64                                                                                                                                                               1/1 

Installed:
  pcre-devel.x86_64 0:8.32-17.el7                                                                                                                                                                              

Complete!

2、安装编译需要的组件

[root@localhost ~]# yum -y install zlib-devel openssl-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package openssl-devel.x86_64 1:1.0.2k-8.el7 will be installed
--> Processing Dependency: krb5-devel(x86-64) for package: 1:openssl-devel-1.0.2k-8.el7.x86_64
---> Package zlib-devel.x86_64 0:1.2.7-17.el7 will be installed
--> Running transaction check
---> Package krb5-devel.x86_64 0:1.15.1-8.el7 will be installed
--> Processing Dependency: libkadm5(x86-64) = 1.15.1-8.el7 for package: krb5-devel-1.15.1-8.el7.x86_64
--> Processing Dependency: libverto-devel for package: krb5-devel-1.15.1-8.el7.x86_64
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.15.1-8.el7.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.15.1-8.el7.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.15.1-8.el7.x86_64
--> Running transaction check
---> Package keyutils-libs-devel.x86_64 0:1.5.8-3.el7 will be installed
---> Package libcom_err-devel.x86_64 0:1.42.9-10.el7 will be installed
---> Package libkadm5.x86_64 0:1.15.1-8.el7 will be installed
---> Package libselinux-devel.x86_64 0:2.5-11.el7 will be installed
--> Processing Dependency: libsepol-devel(x86-64) >= 2.5-6 for package: libselinux-devel-2.5-11.el7.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.5-11.el7.x86_64
---> Package libverto-devel.x86_64 0:0.2.5-4.el7 will be installed
--> Running transaction check
---> Package libsepol-devel.x86_64 0:2.5-6.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================================================================
 Package                                                   Arch                                         Version                                               Repository                                  Size
===============================================================================================================================================================================================================
Installing:
 openssl-devel                                             x86_64                                       1:1.0.2k-8.el7                                        base                                       1.5 M
 zlib-devel                                                x86_64                                       1.2.7-17.el7                                          base                                        50 k
Installing for dependencies:
 keyutils-libs-devel                                       x86_64                                       1.5.8-3.el7                                           base                                        37 k
 krb5-devel                                                x86_64                                       1.15.1-8.el7                                          base                                       266 k
 libcom_err-devel                                          x86_64                                       1.42.9-10.el7                                         base                                        31 k
 libkadm5                                                  x86_64                                       1.15.1-8.el7                                          base                                       174 k
 libselinux-devel                                          x86_64                                       2.5-11.el7                                            base                                       186 k
 libsepol-devel                                            x86_64                                       2.5-6.el7                                             base                                        74 k
 libverto-devel                                            x86_64                                       0.2.5-4.el7                                           base                                        12 k

Transaction Summary
===============================================================================================================================================================================================================
Install  2 Packages (+7 Dependent packages)

Total download size: 2.3 M
Installed size: 4.6 M
Downloading packages:
(1/9): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm                                                                                                                                       |  37 kB  00:00:00     
(2/9): libcom_err-devel-1.42.9-10.el7.x86_64.rpm                                                                                                                                        |  31 kB  00:00:00     
(3/9): libkadm5-1.15.1-8.el7.x86_64.rpm                                                                                                                                                 | 174 kB  00:00:00     
(4/9): krb5-devel-1.15.1-8.el7.x86_64.rpm                                                                                                                                               | 266 kB  00:00:00     
(5/9): libselinux-devel-2.5-11.el7.x86_64.rpm                                                                                                                                           | 186 kB  00:00:00     
(6/9): libsepol-devel-2.5-6.el7.x86_64.rpm                                                                                                                                              |  74 kB  00:00:00     
(7/9): libverto-devel-0.2.5-4.el7.x86_64.rpm                                                                                                                                            |  12 kB  00:00:00     
(8/9): zlib-devel-1.2.7-17.el7.x86_64.rpm                                                                                                                                               |  50 kB  00:00:00     
(9/9): openssl-devel-1.0.2k-8.el7.x86_64.rpm                                                                                                                                            | 1.5 MB  00:00:00     
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                          4.2 MB/s | 2.3 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libkadm5-1.15.1-8.el7.x86_64                                                                                                                                                                1/9 
  Installing : libsepol-devel-2.5-6.el7.x86_64                                                                                                                                                             2/9 
  Installing : libselinux-devel-2.5-11.el7.x86_64                                                                                                                                                          3/9 
  Installing : libcom_err-devel-1.42.9-10.el7.x86_64                                                                                                                                                       4/9 
  Installing : libverto-devel-0.2.5-4.el7.x86_64                                                                                                                                                           5/9 
  Installing : keyutils-libs-devel-1.5.8-3.el7.x86_64                                                                                                                                                      6/9 
  Installing : krb5-devel-1.15.1-8.el7.x86_64                                                                                                                                                              7/9 
  Installing : zlib-devel-1.2.7-17.el7.x86_64                                                                                                                                                              8/9 
  Installing : 1:openssl-devel-1.0.2k-8.el7.x86_64                                                                                                                                                         9/9 
  Verifying  : zlib-devel-1.2.7-17.el7.x86_64                                                                                                                                                              1/9 
  Verifying  : keyutils-libs-devel-1.5.8-3.el7.x86_64                                                                                                                                                      2/9 
  Verifying  : libverto-devel-0.2.5-4.el7.x86_64                                                                                                                                                           3/9 
  Verifying  : libselinux-devel-2.5-11.el7.x86_64                                                                                                                                                          4/9 
  Verifying  : krb5-devel-1.15.1-8.el7.x86_64                                                                                                                                                              5/9 
  Verifying  : libcom_err-devel-1.42.9-10.el7.x86_64                                                                                                                                                       6/9 
  Verifying  : libsepol-devel-2.5-6.el7.x86_64                                                                                                                                                             7/9 
  Verifying  : 1:openssl-devel-1.0.2k-8.el7.x86_64                                                                                                                                                         8/9 
  Verifying  : libkadm5-1.15.1-8.el7.x86_64                                                                                                                                                                9/9 

Installed:
  openssl-devel.x86_64 1:1.0.2k-8.el7                                                                     zlib-devel.x86_64 0:1.2.7-17.el7                                                                    

Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.5.8-3.el7     krb5-devel.x86_64 0:1.15.1-8.el7        libcom_err-devel.x86_64 0:1.42.9-10.el7     libkadm5.x86_64 0:1.15.1-8.el7     libselinux-devel.x86_64 0:2.5-11.el7    
  libsepol-devel.x86_64 0:2.5-6.el7            libverto-devel.x86_64 0:0.2.5-4.el7    

Complete!

3、创建软件配套专用的用户(禁止登录及不创建家目录)

[root@localhost ~]# useradd www -s /sbin/nologin  -M

4、进入/usr/src目录下载并解压软件包

[root@localhost src]# cd /usr/src/
[root@localhost src]# wget http://nginx.org/download/nginx-1.12.2.tar.gz && tar -zxf nginx-1.12.2.tar.gz
--2018-03-02 13:05:56--  http://nginx.org/download/nginx-1.12.2.tar.gz
Resolving nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2606:7100:1:69::3f, ...
Connecting to nginx.org (nginx.org)|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 981687 (959K) [application/octet-stream]
Saving to: ‘nginx-1.12.2.tar.gz’

100%[=====================================================================================================================================================================>] 981,687     8.26KB/s   in 2m 10s 

2018-03-02 13:08:07 (7.36 KB/s) - ‘nginx-1.12.2.tar.gz’ saved [981687/981687]

5、进入解压的软件目录并编译配置文件 ./configure –user=www –group=www –prefix=/usr/local/nginx-1.12.2 –with-mail_ssl_module –with-http_stub_status_module –with-http_ssl_module –with-http_v2_module –with-http_gzip_static_module –with-http_sub_module

[root@localhost src]# cd nginx-1.12.2
[root@localhost nginx-1.12.2]# ./configure --user=www --group=www --prefix=/usr/local/nginx-1.12.2 --with-mail_ssl_module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module
checking for OS
 + Linux 3.10.0-327.el7.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... 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
  + using system zlib library

  nginx path prefix: "/usr/local/nginx-1.12.2"
  nginx binary file: "/usr/local/nginx-1.12.2/sbin/nginx"
  nginx modules path: "/usr/local/nginx-1.12.2/modules"
  nginx configuration prefix: "/usr/local/nginx-1.12.2/conf"
  nginx configuration file: "/usr/local/nginx-1.12.2/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx-1.12.2/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx-1.12.2/logs/error.log"
  nginx http access log file: "/usr/local/nginx-1.12.2/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp

6、编译及安装软件

[root@localhost nginx-1.12.2]# make && make install
make -f objs/Makefile
make[1]: Entering directory `/usr/src/nginx-1.12.2'
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
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_list.o \
        src/core/ngx_list.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 -I src/http -I src/http/modules -I src/http/v2 \
        -o objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
        src/http/modules/ngx_http_upstream_least_conn_module.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 -I src/http -I src/http/modules -I src/http/v2 \
        -o objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
        src/http/modules/ngx_http_upstream_keepalive_module.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 -I src/http -I src/http/modules -I src/http/v2 \
        -o objs/src/http/modules/ngx_http_upstream_zone_module.o \
        src/http/modules/ngx_http_upstream_zone_module.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 -I src/http -I src/http/modules -I src/http/v2 \
        -o objs/src/http/modules/ngx_http_stub_status_module.o \
        src/http/modules/ngx_http_stub_status_module.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/ngx_modules.o \
        objs/ngx_modules.c
cc -o objs/nginx \
objs/src/core/nginx.o \
objs/src/core/ngx_log.o \
objs/src/core/ngx_palloc.o \
objs/src/core/ngx_array.o \
objs/src/core/ngx_list.o \
......此处省略......
objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
objs/src/http/modules/ngx_http_upstream_zone_module.o \
objs/src/http/modules/ngx_http_stub_status_module.o \
objs/ngx_modules.o \
-ldl -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz \
-Wl,-E
sed -e "s|%%PREFIX%%|/usr/local/nginx-1.12.2|" \
        -e "s|%%PID_PATH%%|/usr/local/nginx-1.12.2/logs/nginx.pid|" \
        -e "s|%%CONF_PATH%%|/usr/local/nginx-1.12.2/conf/nginx.conf|" \
        -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx-1.12.2/logs/error.log|" \
        < man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/usr/src/nginx-1.12.2'
make -f objs/Makefile install
make[1]: Entering directory `/usr/src/nginx-1.12.2'
test -d '/usr/local/nginx-1.12.2' || mkdir -p '/usr/local/nginx-1.12.2'
test -d '/usr/local/nginx-1.12.2/sbin' \
        || mkdir -p '/usr/local/nginx-1.12.2/sbin'
test ! -f '/usr/local/nginx-1.12.2/sbin/nginx' \
        || mv '/usr/local/nginx-1.12.2/sbin/nginx' \
                '/usr/local/nginx-1.12.2/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx-1.12.2/sbin/nginx'
test -d '/usr/local/nginx-1.12.2/conf' \
        || mkdir -p '/usr/local/nginx-1.12.2/conf'
cp conf/koi-win '/usr/local/nginx-1.12.2/conf'
cp conf/koi-utf '/usr/local/nginx-1.12.2/conf'
cp conf/win-utf '/usr/local/nginx-1.12.2/conf'
test -f '/usr/local/nginx-1.12.2/conf/mime.types' \
        || cp conf/mime.types '/usr/local/nginx-1.12.2/conf'
cp conf/mime.types '/usr/local/nginx-1.12.2/conf/mime.types.default'
test -f '/usr/local/nginx-1.12.2/conf/fastcgi_params' \
        || cp conf/fastcgi_params '/usr/local/nginx-1.12.2/conf'
cp conf/fastcgi_params \
        '/usr/local/nginx-1.12.2/conf/fastcgi_params.default'
test -f '/usr/local/nginx-1.12.2/conf/fastcgi.conf' \
        || cp conf/fastcgi.conf '/usr/local/nginx-1.12.2/conf'
cp conf/fastcgi.conf '/usr/local/nginx-1.12.2/conf/fastcgi.conf.default'
test -f '/usr/local/nginx-1.12.2/conf/uwsgi_params' \
        || cp conf/uwsgi_params '/usr/local/nginx-1.12.2/conf'
cp conf/uwsgi_params \
        '/usr/local/nginx-1.12.2/conf/uwsgi_params.default'
test -f '/usr/local/nginx-1.12.2/conf/scgi_params' \
        || cp conf/scgi_params '/usr/local/nginx-1.12.2/conf'
cp conf/scgi_params \
        '/usr/local/nginx-1.12.2/conf/scgi_params.default'
test -f '/usr/local/nginx-1.12.2/conf/nginx.conf' \
        || cp conf/nginx.conf '/usr/local/nginx-1.12.2/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx-1.12.2/conf/nginx.conf.default'
test -d '/usr/local/nginx-1.12.2/logs' \
        || mkdir -p '/usr/local/nginx-1.12.2/logs'
test -d '/usr/local/nginx-1.12.2/logs' \
        || mkdir -p '/usr/local/nginx-1.12.2/logs'
test -d '/usr/local/nginx-1.12.2/html' \
        || cp -R html '/usr/local/nginx-1.12.2'
test -d '/usr/local/nginx-1.12.2/logs' \
        || mkdir -p '/usr/local/nginx-1.12.2/logs'
make[1]: Leaving directory `/usr/src/nginx-1.12.2'

7、创建软链接

[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx-1.12.2/ /usr/local/nginx

8、检查Nginx配置文件语法

[root@localhost nginx-1.12.2]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.12.2/conf/nginx.conf test is successful

9、把Nginx服务添加进启动自定义文件内并启动Nginx软件

echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local && /usr/local/nginx/sbin/nginx

10、检查端口情况判断Nginx软件是否运行正常

[root@localhost nginx-1.12.2]# ss -lnat|grep 80
LISTEN     0      128          *:80                       *:*

[v_act]Web访问验证[/v_act]
CentOS 7.2 编译安装 Nginx1.12.2
[v_act]调整参数[/v_act]
1、当我们安装完Nginx程序后首先有几个参数需要调整下,需要调整的参数为user、worker_processes、worker_connections;Nginx主配置文件位于/usr/local/nginx/conf目录下的nginx.conf

[root@localhost conf]# vim nginx.conf

user  www www;    #指定运行Worker进程的用户和组,根据编译安装时指定的用户及组修改,默认为nobody;例如:user www www;
worker_processes  auto;    #常规调优选项 Worker线程的个数;通常应该为物理CPU核心个数减1;自动为auto

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  51200;    #常规调优选项 设定单个Worker进程所能够处理响应的最大并发请求数(worker_connections * worker_processes);默认为1024,建议为51200,最大为65535。
}

2、调整参数后验证配置文件是否有误

[root@localhost conf]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.12.2/conf/nginx.conf test is successful

3、重新加载配置文件或重启系统均可

[root@localhost conf]# /usr/local/nginx/sbin/nginx -s reload
正文完
 0
Yvan
版权声明:本站原创文章,由 Yvan 于2018-03-02发表,共计15360字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)

IT运维网

IT运维网
IT运维网
一个与IT运维相关的网站
用户数
18081
文章数
224
评论数
45
阅读量
1990012
一言一句话
-「
文章搜索
热门文章
EVE-NG全系列模板镜像(2025-12-08更新)

EVE-NG全系列模板镜像(2025-12-08更新)

链接:https://pan.baidu.com/s/1bbNFX_rUvpukapjEZ49ASw 提取码:...
热评文章
EVE-NG全系列模板镜像(2025-12-08更新)

EVE-NG全系列模板镜像(2025-12-08更新)

链接:https://pan.baidu.com/s/1bbNFX_rUvpukapjEZ49ASw 提取码:...
最新评论
Yvan Yvan 不清楚你那边的具体情况,所以我也说不上来,有问题可以在群内直接讨论!~
Yvan Yvan 目前针对12.5.2版本的话我这边没有。
fukua2025 fukua2025 ETX有没有patch好的下载地址
fits_996 fits_996 nxosv9k-7.0.3.I7.8.tgz有些镜像开不起来是什么情况。
killingangel killingangel 楼主这种开源精神 赞赞赞赞
wangshushu wangshushu 必须点赞
wangshushu wangshushu 楼主这种开源精神 大赞一个
Anthony Anthony 牛逼!特意登陆评论下
yvan yvan 已更新版本及更新链接!~!~