切換到 root 用戶
1 | su root |
下载 nginx 的压缩包文件到根目录,官网下载地址:nginx.org/download/nginx-x.xx.xx.tar.gz
1 | yum update #更新系统软件 |
解压tar.gz压缩包文件,进去nginx-1.15.12
1 | tar -xzvf nginx-1.17.2.tar.gz |
进去后如果发现有configure这个文件,说明这个源码包安装前需要先进行配置,主要是为了检查当前的环境是否满足要安装软件的依赖关系,如果没有这个文件说明是二进制包,解压后直接使用不用configure
1 | ./configure |
通过安装前的配置检查,发现有报错。检查中发现一些依赖库没有找到,这时候需要先安装nginx的一些依赖库
1 | yum -y install pcre* #安装使nginx支持rewrite |
再次进行检查操作 ./configure 没发现报错显示,接下来进行编译并安装的操作
1 | // 检查模块支持 |
查看默认安装的模块支持
命令ls nginx-1.17.2
查看 nginx 的文件列表,可以发现里面有一个 auto 的目录。
在这个 auto 目录中有一个 options 文件,这个文件里面保存的就是nginx编译过程中的所有选项配置。
通过命令:cat nginx-1.17.2/auto/options | grep YES
就可以查看
编译并安装
1 | make && make install |
这里需要注意,模块的支持跟后续的nginx配置有关,比如 SSL,gzip 压缩等等,编译安装前最好检查需要配置的模块存不存在。
查看nginx安装后在的目录,可以看到已经安装到 /usr/local/nginx 目录了
1 | whereis nginx |
启动nginx服务
1 | cd /usr/local/nginx/sbin/ |
服务启动的时候报错了:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) ,通过命令查看本机网络地址和端口等一些信息,找到被占用的80端口(netstat -ntpl)的tcp连接,并杀死进程(kill 进程pid)
1 | netstat -ntpl |
继续启动nginx服务,启动成功
1 | ./nginx |
通过ping localhost 或在浏览器直接访问,ping成功或出现下面页面则安装成功。
令:curl localhost/index.html 如果返回html代码也代表安装成功。