CentOS7 安装 Nginx (源码方式)

1、官网下载安装包

选择适合 Linux 的版本,下载到本地后上传到服务器或者 CentOS 下直接 wget 命令下载。

1
wget http://nginx.org/download/nginx-1.22.0.tar.gz

2、安装 Nginx

先执行以下命令,安装 Nginx 依赖库,如果缺少依赖库,可能会安装失败。

1
yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

解压安装包

1
tar -zxvf nginx-1.22.0.tar.gz

Nginx 被解压到了 /usr/local/nginx-1.22.0 目录下(不要把压缩包解压到 /usr/local/nginx 目录下,或者将解压后的目录重命名为 Nginx,因为 Nginx 会默认安装到 /usr/local/nginx 目录下),切换到 nginx-1.22.0/ 目录,执行 ./configure

1
2
cd /usr/local/nginx-1.22.0/
./configure --prefix=/usr/local/nginx

该操作会检测当前系统环境,以确保能成功安装 Nginx,执行该操作后可能会出现以下几种提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
checking for OS
+ Linux 3.10.0-123.el7.x86_64 x86_64
checking for C compiler ... not found
./configure: error: C compiler cc is not found
如果出现以上错误提示信息,执行yum install gcc-c++安装gcc,


./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
如果出现上面提示,表示缺少PCRE库


./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
如果出现以上提示,表示缺少zlib库

如果没有出现 ./configure: error 提示,表示当前环境可以安装 Nginx,执行 make 和 make install 编译 Nginx。

1
2
make
make install

没有出错的话,表示 Nginx 已经成功安装完成,默认安装位置为 /usr/local/nginx,之前的 /usr/local/nginx-1.22.0/ 可以删除掉了。

如果出现 cp: 'conf/koi-win' and '/usr/local/nginx/conf/koi-win' are the same file,可能是你把安装包解压到了 /usr/local/nginx 目录,解决办法是将该目录重命名为其他名称后再执行 make,make install.

3、配置 Nginx 开机启动

切换到 /lib/systemd/system/ 目录,创建 nginx.service 文件

1
2
cd /lib/systemd/system/
vim nginx.service

文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=nginx
After=network.target


[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true


[Install]
WantedBy=multi-user.target

退出并保存文件,执行 systemctl enable nginx.service 使 Nginx 开机启动

1
2
3
systemctl start nginx.service       # 启动nginx
systemctl stop nginx.service # 结束nginx
systemctl restart nginx.service # 重启nginx

4、验证是否安装成功

输入 http://服务器IP/ 如果能看到 Nginx 的界面,就表示安装成功了


CentOS7 安装 Nginx (源码方式)
https://flepeng.github.io/040-Nginx-11-安装和配置-CentOS7-安装-Nginx-源码方式/
作者
Lepeng
发布于
2016年1月1日
许可协议