编译安装 Nginx

Nginx的安装

一,环境准备工作

1.Nginx服务器软件包和安装文件一共不到10MB的磁盘空间,应该保持10MB的磁盘空间(都9012年了,这点应该没问题)
2.为了编译Nginx源码,我们需要标准的GCC编译器。

GCC(GUN Compiler Collection,GUN编译套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)

3.除此之外我们还需要Automake工具,来完成自动创建Makefile的工作。
4.由于Nginx的一些模块需要依赖第三方库,通常有pcre库(支持rewrite模块),zlib库(支持gzip模块),openssl库(支持ssl模块)等

因为只是调用底层模块,所以yum安装就好了

[root@localhost home]# yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel

这里注意一下,我们并不需要安装Autoconf工具。Nginx软件的自动脚本不是由automake工具生成的,而是作者手工编写的。
到此,我们就完成了编译和安装nginx服务器软件的环境准备工作。

二,编译和安装

nginx官网地址
nginx-1.18.0百度云下载,验证码为:cdqf

1.获取nginx的源码包

1.1.递归创建/home/web/server目录
[root@localhost ~]# mkdir -p /home/web/server
1.2.下载源码包保存至/home/web/server目录下
[root@localhost ~]# wget -P /home/web/server/ http://nginx.org/download/nginx-1.18.0.tar.gz

2.解压源码包

2.1.切换工作目录至/home/server下
[root@localhost ~]# cd /home/web/server/
2.2.解压nginx至当前工作目录(/home/server)
[root@localhost server]# tar -zxvf nginx-1.18.0.tar.gz
2.3.简要介绍一下部分文件和目录:

【1】src目录:存放了nginx软件所有的源代码;
【2】man目录:存放了nginx软件的帮助文档;
【3】conf目录:存放了nginx服务器的配置文件,正确配置nginx文件可以保证nginx的正常运行;
【4】html目录:存放了两个后缀名为.html的静态网页文件。
【5】CHANGES.ru:俄文版 Nginx 各版本变更说明(因为Nginx 作者是俄罗斯人)
【6】CHANGES:英文版 Nginx 各版本变更说明
【7】LICENSE:存放了nginx许可证信息
【8】contrib:存放了vim 提示插件以及一些提升使用 Nginx 效率的工具脚本
【9】README:记录了一些作者的信息
【10】auto目录:存放了大量的脚本文件,和configure脚本程序有关

进入auto目录我们可以清晰的看到各种职能的脚本(此目录下的文件对于自动化脚本具有极高的参考价值!!)

(1)os目录:检查环境
(2)modules脚本:检查模块
(3)options脚本:处理脚本参数
(4)have,nohave,make,install:输出信息到输出文件
(5)......nginx的自动化脚本都是作者手工编写的,此目录下的文件对于自动化脚本具有极高的参考价值!!因本人能力有限,就不多赘述了

【11】configure文件:是nginx的自动化脚本,运行configure自动化脚本一般会完成两项工作:
(1)检查环境,根据环境检查结果生成c语言代码;
(2)生成编译代码需要的Makefile文件。

Nginx源码的编译需要使用configure脚本自动生成Makefile文件,常用选项如下:



3.进入nginx目录编译安装

3.1.检查环境,我们指定nginx的安装位置在/home/web/server/nginx下,并生成Makefile文件
[root@localhost nginx-1.18.0]# ./configure --prefix=/home/web/server/nginx

具体返回信息可以对照上表,自行比对

3.2.使用configure脚本得到Makefile文件后,使用make来编译,make install安装,我们用&&连接,表示表示正确执行make后执行make install
[root@localhost nginx-1.18.0]# make && make install
3.3.启动nginx
[root@localhost ~]# /home/web/server/nginx/sbin/nginx
3.4.查看nginx进程是否启动
[root@localhost ~]# ps -aux|grep nginx
3.5.查看80端口是否正常开启
[root@localhost ~]# netstat -tunlp|grep 80

打开浏览器:输入IP地址差看nginx的HTML页面

3.6.添加nginx的环境变量,否则每次操作nginx都要打上一串,毕竟我们不能时时刻刻都在nginx目录下
[root@localhost ~]# echo "export PATH="$PATH:/home/web/server/nginx/sbin:"" >> /etc/profile && source /etc/profile && nginx -s reload
3.7.设置nginx开机自启(系统启动脚本vi /etc/rc.local 这个文件是系统启动后会自动执行的,我们就将启动命令加入到这个文件中,并给它可执行的权限)
[root@iZgt88z6l1kvd7Z ~]# echo "/home/web/server/nginx/sbin/nginx -c /home/web/server/nginx/conf/nginx.conf &" >>/etc/rc.local && chmod o+x /etc/rc.local

原文地址:https://www.cnblogs.com/hxlinux/p/12897869.html