1.安装nginx
我尝试了两个下载nginx的途径,第一个是源码编译安装(推荐,性能稳定),但是写systemctl 脚本时失败了(已解决),于是我懒得再配,删掉直接yum了,yum后自带systemctl脚本,可以轻松的开启关闭
1.1 源码编译安装nginx
为了编译Nginx源代码,需要标准的GCC编译器。GCC的全称为GNU Compiler Collection, 其由GNU开发,并以GPL及LGPL许可证发行,是自由的类UNIX即苹果电脑Mac OSX操作系统的标准编译器。因为GCC原本只能处理C语言,所以原名为GNU C语言编译器,后来得到快速扩展,可处理C++、Fortran、Pascal、Objective-C、Java以及Ada等其他语言。
除此之外,还需要Automake工具,以完成自动创建Makefile文件的工作。
由于Nginx的一些模块需要依赖其他第三方库,通常有pcre库(支持rewrite模块)、zlib库(支持gzip模块)和openssl库(支持ssl模块)等。
1.1.1 所以第一步先安装依赖(已安装的可以忽略)
$ yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
1.1.2 创建nginx用户
因为在启动nginx服务时,会先判断电脑上有没有它默认的nginx用户,如果没有则会报错,我们后续也可以将它改为root或其他用户,为了以防万一,我们先简单建一个nginx用户
useradd nginx
如果有需要,也可以给他加个组什么的,因为只是练习,我就一会直接要改成root用户
1.1.3 下载nginx
这里下载的是1.16.1版本,如果又需要可以换成更低或更高
wget会下载到当前目录下,没有wget指令的话可以先yum -y install wget
wget https://nginx.org/download/nginx-1.16.1.tar.gz
1.1.4 解压文件
解压到你的指定的目录,如我的在/usr/nginx
tar -zxvf nginx-1.16.1.tar.gz -C /usr/nginx --strip-components 1
这里的 --strip-components n 是指给压缩包扒掉n层衣服(羞耻!),这样你打开nginx目录就直接是bin等内容了
这里对解压完成后的部分目录和文件做个简单的介绍:
src 该目录存放了Nginx的所有源码;
man 该目录存放了Nginx的帮助文档;
html 该目录存放了两个html文件。这两个文件与Nginx服务器的运行相关,这两个文件的作用会在下文
给出,这里不做赘述;
conf 该目录存放的是Nginx服务器的配置文件,包含Nginx服务器的基本配置文件;
auto 该目录存放了大量脚本文件,和configure脚本程序有关;
configure 该文件是Nginx软件的自动脚本程序。运行configure脚本一般会完成两项工作:
一是检查环境,根据环境检查结果生成C代码;二是生成编译代码需要的Makefile文件。
1.1.5 编译安装
我们进入到安装目录,比如我在/usr/nginx
我们在make之前要先生成Makefile可执行文件
./configure --user=nginx --prefix=/usr/nginx --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --with-pcre-jit --with-http_ssl_module --with-http_v2_module --with-http_sub_module --