关闭防火墙,selinux等可能阻碍访问的服务

systemctl stop firewalld.service
systemctl stop firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0

安装epel源

yum -y install epel-release

nignx官网 http://nginx.org
创建文件包存放目录

mkdir -p /app/pack
mkdir /app/service

从官网下载nginx的安装包

http://nginx.org/en/download.html  下载地址

nginx编译安装_第1张图片
nginx官网主要分三大版本
1,主线(测试版,奇数版本,)最新版,主要用于拥有开发团队的公司,进行二次开发后,使用
2,稳定版 (偶数版) 稳定的 可用于生产环境的版本。
3,历史版本(也是稳定的,偶数的)
nginx版本的选择
1,根据公司具体业务,查看版本是否支持功能,2,选择距离现在半年左右的稳定版本,且两个稳定版之间应该相差至少半年。
这里我选择最新的稳定版本。
nginx选择采用nginx用户进行进程的管理。
数据目录等存放在/app/service/nginx/ 下

cd /app/pack
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar xf nginx-1.18.0.tar.gz
cd nginx-1.18.0
#yum -y install gcc-c++  C语言依赖包
#yum -y install pcre pcre-devel   pcre 依赖包,解析nginx正则
#yum -y install zlib zlib-devel     zlib依赖包    压缩 
#yum -y install openssl openssl-devel  openssl 依赖包   ssl证书   非必须
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
创建用户
useradd -M -s /sbin/nologin nginx
进行预编译
./configure --prefix=/app/service/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre
--prefix=                                           #选择安装地址
--with-http_dav_module                  #启用支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)
--with-http_stub_status_module    #启用支持(获取Nginx上次启动以来的工作状态)
--with-http_addition_module         #启用支持(作为一个输出过滤器,支持不完全缓冲,分部分相应请求)
--with-http_sub_module                 #启用支持(允许一些其他文本替换Nginx相应中的一些文本)
--with-http_flv_module                   #启用支持(提供支持flv视频文件支持)
--with-http_mp4_module               #启用支持(提供支持mp4视频文件支持,提供伪流媒体服务端支持)
--with-pcre                                           #支持正则
编译结束后 执行
echo $? 若返回为0则成功
继续 进行安装
make && make install 

自此nginx的编译安装就完成了!
接下来启动nginx

检测配置文件 没问题
/app/service/nginx/sbin/nginx -t
nginx: the configuration file /app/service/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /app/service/nginx/conf/nginx.conf test is successful
/app/service/nginx/sbin/nginx
 ps -ef |grep -v grep|grep nginx
root     14631     1  0 20:33 ?        00:00:00 nginx: master process /app/service/nginx/sbin/nginx
nobody   14632 14631  0 20:33 ?        00:00:00 nginx: worker process

ln -s /app/service/nginx/sbin/nginx /usr/sbin/nginx 制作命令链接
nginx -t 

通过浏览器进行访问
nginx编译安装_第2张图片