目录
1、安装gcc环境:编译时依赖gcc环境
yum -y install gcc-c++ autoconf automake make


2、安装PCRE依赖库
yum -y install pcre pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。

3、安装zlib依赖库
yum -y install zlib zlib-devel make libtool
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
4、安装OpenSSL安全套接字层密码库
yum -y install openssl openssl-devel
- OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
- nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

1、手动创建用户和用户组
- groupadd nginx
- useradd nginx -g nginx -s /sbin/nologin -M
![]()
2、在nginx官网下载压缩文件nginx-1.20.2.tar.gz,通过xftp将nginx文件拷贝到linux服务器目录下
nginx: download
https://nginx.org/en/download.html
3、切换到nginx-1.20.2.tar.gz所在目录,解压nginx
tar -zxvf nginx-1.20.2.tar.gz


4、编译目录:解压后,切换到nginx-1.20.2目录,执行./configure命令检查
- cd nginx-1.20.2
- #检查平台安装环境
- ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul
- e --user=nginx --group=nginx
参数说明:
- #编译安装目录:–prefix=/usr/local/nginx
- #所属用户nginx:–user=nginx
- #所属组nginx:–group=nginx
- #该模块提供nginx的基本状态信息:–with-http_stub_status_module
- #支持HTTPS:–with-http_ssl_module


5、编译源码并安装:执行命令 make && make install进行编译
- make
- make install



6、启动 Nginx
- cd /usr/local/nginx/sbin
- ./nginx
![]()
常用命令:
- ./nginx #启动
- ./nginx -s quit #正常停止
- ./nginx -s reload #重新加载
- ./nginx -v #查看版本信息
7、启动成功后,访问http://IP地址/,可以看到欢迎页面。其中IP地址为nginx服务所在机器的IP地址

8、如果没有看到欢迎页,可能是nginx所在机器的防火墙问题导致,可以关闭防火墙,或者开放防火墙的80端口,再用浏览器访问
- #关闭防火墙
- systemctl stop firewalld.service
- firewall-cmd --state
![]()
- #开放防火墙的80端口
- firewall-cmd --zone=public --add-port=80/tcp --permanent
- 重载入添加的端口:
- firewall-cmd --reload
- 查询指定端口是否开启成功:
- firewall-cmd --query-port=80/tcp
9、查看Nginx状态
(1)、进程查询
ps -ef | grep nginx
![]()
(2)、端口查询
lsof -i:80

(3)、IP查询(nginx所在机器IP地址)
curl xxx.xxx.xxx.xxx

(4)、查看服务 netstat -lntp
netstat -lntp

镜像站点1:centos-7-os-x86_64-Packages安装包下载_开源镜像站-阿里云
http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ 镜像站点2:Index of /7.5.1804/os/x86_64/Packages
https://vault.centos.org/7.5.1804/os/x86_64/Packages/也可以直接从这下载:nginx离线安装包及相关依赖包-CentOS文档类资源-CSDN下载nginx离线安装相关依赖,包括gcc、openssl-devel、pcre-devel、zlib-更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/zhiwenganyong/85860880
依赖 rpm包
1)gcc

2)pcre-devel
![]()
3)zlib-devel
4)openssl-devel

nginx下载
nginx: download
https://nginx.org/en/download.html
- cd /usr/nginxDepend/pcre-devel
- rpm -Uvh *

- cd /usr/nginxDepend/zlib-devel
- rpm -Uvh *

- cd /usr/nginxDepend/openssl-devel
- rpm -Uvh *.rpm --nodeps --force

- cd /usr/nginxDepend/gcc
- rpm -Uvh *.rpm --nodeps --force

tar -zxvf nginx-1.18.0.tar.gz -C /usr/local/nginx/

2.在nginx目录下执行如下命令
- cd /usr/local/nginx/nginx-1.18.0
- ./configure
默认配置安装在/usr/local/nginx
3.然后在nginx解压目录下执行
- cd /usr/local/nginx/nginx-1.18.0
- make && make install
关闭selinux
- #临时关闭selinux
- setenforce 0
- #永久关闭,将SELINUX设置为disabled
- vi /etc/selinux/config
防火墙开发80端口
- sudo firewall-cmd --zone=public --list-all # 查看开放的端口
- sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放80端口
- sudo firewall-cmd --reload # 重新加载
nginx命令
- # 启动nginx
- /usr/local/nginx/sbin/nginx
- # 立即停止Nginx服务
- /usr/local/nginx/sbin/nginx -s stop
- # 完成当前任务后停止
- /usr/local/nginx/sbin/nginx -s quit
启动成功后,访问http://IP地址/,可以看到欢迎页面。其中IP地址为nginx服务所在机器的IP地址

先把目前的nginx关闭,目前安装在/usr/local/nginx
./nginx -s stop
到解压的nginx目录下,执行:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
执行make命令,但是不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖。
- make
- cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
- cp objs/nginx /usr/local/nginx/sbin/nginx
在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。
查看是否有安装ssl模块成功
./usr/local/nginx/sbin/nginx -V
有 configure arguments: --with-http_ssl_module 说明安装成功了