如何正确安装并掌握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的库文件及它的开发安装包进行一个安装。
阅读全文