Linux CentOS Nginx
Nginx是使用C语言开发的,建议部署在Linux操作系统上,当然也可以安装在Windows操作系统安装Windows版本的Nginx。

1、安装依赖库

  1. yum -y install gcc gcc-c++ pcre pcre-devel \
  2. zlib zlib-devel openssl openssl-devel

image.png

A.gcc安装

源码安装 Nginx需要对在官网下载的Nginx源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要先安装
CentOS7.3安装升级gcc

B.PCRE pcre-devel 安装

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

  1. yum install -y pcre pcre-devel

image.png

C.zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, Nginx使用 zlib 对 http 包的内容进行 gzip ,所以需要在 CentOS上安装 zlib 库。

  1. yum install -y zlib zlib-devel

image.png

D.OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。Nginx不仅支持 http 协议,而且支持 https(即在ssl协议上传输http),所以需要在 CentOS安装 OpenSSL 库。

  1. yum install -y openssl openssl-devel

image.png

2、创建Nginx用户及Nginx用户组

先创建一个名为nginx且没有登录权限的用户和一个名为nginx的用户组

A.创建Nginx用户组

创建nginx用户组(-r选项表示创建一个系统用户组)

  1. groupadd -r nginx

创建用户并加入到nginx系统用户组

B.创建Nginx用户

  1. useradd -r -g nginx -s /sbin/nologin -d /usr/local/nginx -M nginx

-r: 添加系统用户( 这里指将要被创建的系统用户nginx)
-g: 指定要创建的用户所属组( 这里指添加新系统用户nginxnginx系统用户组 )
-s: 新帐户的登录shell( /sbin/nologin 这里设置为将要被创建系统用户nginx不能用来登录系统 )
-d: 新帐户的主目录( 这里指定将要被创建的系统用户nginx的家目录为 /usr/local/nginx )
-M: 不要创建用户的主目录( 也就是说将要被创建的系统用户nginx不会在 /home 目录下创建 nginx 家目录 )

3、下载Nginx源码并安装

A.下载Nginx

  1. wget http://nginx.org/download/nginx-1.16.1.tar.gz

B.解压

  1. tar zxf nginx-1.16.1.tar.gz -C ./nginx

C.编译安装Nginx

  1. cd ./nginx/nginx-1.16.1/
  2. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
  3. make && make install

安装成功后,查看Nginx内置模块或者查看自定义模块

4、Nginx模块

A.查看Nginx内置模块

  1. cat ./auto/options | grep YES

image.png

B.查看Nginx自定义模块

需要切换至/usr/local/nginx/sbin目录下

  1. [root@iZuligp6e1dyzfZ nginx-1.16.1 10:48]# cd /usr/local/nginx/sbin/
  2. [root@iZuligp6e1dyzfZ sbin 10:49]# pwd
  3. /usr/local/nginx/sbin
  4. [root@iZuligp6e1dyzfZ sbin 10:49]# ll
  5. total 3736
  6. -rwxr-xr-x 1 root root 3825520 Aug 20 10:40 nginx
  7. [root@iZuligp6e1dyzfZ sbin 10:49]# ./nginx -V
  8. nginx version: nginx/1.16.1
  9. built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
  10. configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx

image.png

C.添加第三方模块

5、验证Nginx的安装

在/usr/local/nginx/sbin目录下执行Nginx启动命令后,访问80端口出现页面即可说明安装启动成功

A.使用curl访问

image.png

B.使用浏览器访问

image.png

6、Nginx的常用命令

需要切换至nginx的可执行程序的目录下进行操作
image.png

  1. cd /usr/local/nginx/sbin/
  2. ./nginx # 启动
  3. ./nginx -s stop #关闭
  4. ./nginx -s quit
  5. ./nginx -s reload #重新加载配置
  6. ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
  7. ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

7、生产环境Nginx的使用

A.先停止再启动(推荐)

对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。

  1. ./nginx -s quit
  2. ./nginx

B.修改nginx.conf后,重新加载配置文件

当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用nginx -s reload不用先停止nginx,再启动nginx。即可将配置信息在 nginx中生效。

  1. ./nginx -s reload

C.开机自启动Nginx

在rc.local增加启动代码

  1. vim /etc/rc.local

即增加一行

  1. /usr/local/nginx/sbin/nginx

D.设置rc.local文件执行权限

  1. chmod 755 rc.local

8、Nginx一键式安装脚本

  1. yum -y install gcc gcc-c++ pcre pcre-devel \
  2. zlib zlib-devel openssl openssl-devel
  3. yum install -y pcre pcre-devel
  4. yum install -y zlib zlib-devel
  5. yum install -y openssl openssl-devel
  6. groupadd -r nginx
  7. useradd -r -g nginx -s /sbin/nologin -d /usr/local/nginx -M nginx
  8. wget http://nginx.org/download/nginx-1.16.1.tar.gz
  9. tar zxf nginx-1.16.1.tar.gz
  10. cd nginx-1.16.1/
  11. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
  12. make && make install
  13. /usr/local/nginx/sbin/nginx -V