「Nginx」CentOS7.6操作系统下通过源码安装Nginx教程

准备工作

服务器

由于只是为了演示,因此这里选用的服务器是阿里云的抢占式实例,优点是价格低,配置高,适合超短期内的需求。比如博主基本上就使用一两个小时就释放了,也就花了两毛不到。

> 计费方式 : 抢占式实例
> 地域 : 华南1 可用区 E
> 实例 : 计算型 c5 / ecs.c5.large(2vCPU 4GiB)
> 单台实例规格上限价格 : ¥ 0.62
> 购买数量 : 1 台
> 镜像 : CentOS 7.6 64位(安全加固)
> 系统盘 : 高效云盘 40GiB

源码安装包

nginxhttp://nginx.org/download/nginx-1.17.1.tar.gz
pcreftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz
zlibhttp://www.zlib.net/zlib-1.2.11.tar.gz
opensslhttps://www.openssl.org/source/openssl-1.0.2s.tar.gz

安装步骤

1.创建nginx用户

1
useradd www -d /www

其中,www为用户名,linux默认会为其创建一个名为www的用户组;/www为用户的目录,此目录之后会用于存放前端文件。

2.安装编译环境

1
yum install gcc gcc-c++

通过此命令行安装编译工具。

3.下载源码安装包

1
2
3
4
5
6
7
8
9
10
//进入当前用户目录
cd ~
//下载nginx源码安装包
wget http://nginx.org/download/nginx-1.17.1.tar.gz
//下载zlib源码安装包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
//下载pcre源码安装包
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz
//下载openssl源码安装包
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz

以上代码逐行执行,将源码安装包下载到服务器中。如果想要获取最新源码安装包的地址,可以在准备工作里的源码安装包中提示的官网里找到最新的对应源码安装包下载地址。

4.解压源码安装包

1
2
3
4
tar -zxvf nginx-1.17.1.tar.gz
tar -zxvf pcre-8.43.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf openssl-1.0.2s.tar.gz

通过tar命令将压缩包解压到当前目录下。

5.配置nginx

1
./configure --prefix=/env/nginx --user=www --group=www --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.11 --with-http_ssl_module --with-openssl=../openssl-1.0.2s

–prefix nginx安装路径,路径是/env/nginx。
–user nginx用户,用户是www。
–group nginx用户组,用户组是www。
–with-pcre nginx使用的pcre库,用于请求重定向,nginx默认编译。如果不开启可以将配置替换成–without-http_rewrite_module
–with-zlib nginx使用的zlib库,用于压缩网页页面内容,ngin默认编译。如果不开启可以将配置替换成–without-http_gzip_module
–with-http_ssl_module 开启ssl支持,nginx默认不编译。
–with-openssl nginx使用的openssl库。如果不需要则去掉配置–with-http_ssl_module即可。

需要注意的一点是,这里配置的路径为../XXX是因为之前解压的时候将几个压缩包解压到同级目录下,如果不熟悉相对路径的童鞋可以使用绝对路径进行配置。
另外,更多配置可以到官方网站自行查阅。http://nginx.org/en/docs/configure.html

6.编译安装nginx

1
make && make install

这就不需要多说了,模板代码。

启动nginx服务

完成以上安装步骤之后,直接在终端输入nginx是启动不了nginx服务的,所以需要将nginx命令复制到/usr/bin中。

1
ln /env/nginx/sbin/nginx /usr/bin

通过在/usr/bin中创建一个nginx的硬链接,这样就可以不管在什么路径下都可以直接使用nginx命令启动服务了。

「Nginx」CentOS7.6操作系统下通过源码安装Nginx教程

停止和重启nginx服务

这里使用比较笨的方式进行重启。

1
ps -C nginx

通过以上命令查找当前nginx的pid。

> [root@iZwz9cm3r1qylcc4dh7n2wZ ~]# ps -C nginx
> PID TTY TIME CMD
> 14414 ? 00:00:00 nginx
> 14415 ? 00:00:00 nginx

然后通过kill命令进行停止

1
kill -QUIT 14414

一般情况下只需要杀死第一个进程就都会关闭了。如果有问题就两个都kill掉。

1
nginx

最后再直接在终端输入nginx命令启动nginx服务即可完成重启。

简单方式

另外,在CentOS系统中,可以通过yum命令简单快捷的安装nginx服务。

1
yum install nginx

可以根据个人爱好自行选择安装方式。yum方式安装成功后的默认效果图如下:

「Nginx」CentOS7.6操作系统下通过源码安装Nginx教程

「Nginx」CentOS7.6操作系统下通过源码安装Nginx问题汇总