如何正确安装并掌握Nginx基础操作?
摘要:背景 Nginx是一个高性能的Web服务器,几乎所有的Web服务都需要使用Nginx。 关于Nginx的功能特性这里不再赘述,让我们从0开始,了解Nginx的基本用法,学习它在Web服务中都有哪些应用。 本文主要介绍Nginx的安装以及基础
背景
Nginx是一个高性能的Web服务器,几乎所有的Web服务都需要使用Nginx。
关于Nginx的功能特性这里不再赘述,让我们从0开始,了解Nginx的基本用法,学习它在Web服务中都有哪些应用。
本文主要介绍Nginx的安装以及基础的控制命令。
内容导览
CentOS环境的安装
安装前的准备
通过Nginx源码
./configure参数
启动Nginx
安装目录结构
卸载
与systemctl整合
添加到环境变量
通过yum安装
启动Nginx
源码安装与yum安装的区别
控制Nginx
获取Nginx的PID
信号控制
命令控制
平滑升级
Nginx(“engine x”)
是一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个邮件服务器(支持POP3/SMTP/IMAP协议)
是由伊戈尔赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本
基于BSD许可证开源
安装包下载
最新版下载:http://nginx.org/en/download.html
历史版本:http://nginx.org/download/
Windows环境的安装
下载数据包,解压后直接使用,双击exe启动
在浏览器输出:http://localhost,即可看到欢迎页面
CentOS环境的安装
为了获得较好的学习环境,我们应该考虑安装在一个纯净的虚拟机或者云服务器上。同时,为了避免CentOS防火墙拦截端口上的数据,我们考虑将其关闭
关闭防火墙
systemctl stop firewalld 关闭运行的防火墙,系统重新启动后,防火墙将重新打开
systemctl disable firewalld 永久关闭防火墙,系统重新启动后,防火墙依然关闭
systemctl status firewalld 查看防火墙状态
防火墙控制
查询防火墙中指定的端口是否开放:firewall-cmd --query-port=9001/tcp
开放一个指定的端口:firewall-cmd --permanent --add-port=9002/tcp #参数"--permanent"表示永久开放,不加表示临时开放
批量添加开发端口:firewall-cmd --permanent --add-port=9001-9003/tcp
如何移除一个指定的端口:firewall-cmd --permanent --remove-port=9003/tcp
重新加载:firewall-cmd --reload
安装前的准备
停用selinux
selinux(security-enhanced linux),美国安全局对于强制访问控制的实现,在6内核以后的版本中,selinux已经成功内核中的一部分。
查看selinux:sestatus
为了方便,直接关闭:vim /etc/selinux/config
重启系统
安装GCC
原因:Nginx是使用C语言编写的程序
检查:gcc --version
安装:yum install -y gcc
安装PCRE
原因:Nginx在编译过程中需要使用到PCRE库(perl Compatible Regular Expressoin 兼容正则表达式库),因为在Nginx的Rewrite模块和http核心模块都会使用到PCRE正则表达式语法。
安装:yum install -y pcre pcre-devel
检查:rpm -qa pcre pcre-devel
zlib库
原因:提供了开发人员的压缩算法,在Nginx的各个模块中需要使用gzip压缩,所以我们也需要提前安装其库及源代码zlib和zlib-devel
安装:yum install -y zlib zlib-devel
检查:rpm -qa zlib zlib-devel
OpenSSL
是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。
SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。
原因:在Nginx中,如果服务器需要提供安全网页时就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。
