nginx 正常安装 仅支持 http和https的负载均衡和反向代理 相关文档:
由于现在需要使用TCP的负载均衡和反向代理功能,所以特别记录了这篇安装文档,本文中 TCP 模块添加在其中
CentOS 7 下安装 Nginx
查看是否安装Nginx
安装之前,最好检查一下是否已经安装有nginx[root@CENTOS7-TEST1 sbin]# find -name nginx
如果系统已经安装了nginx,那么就先卸载如果系统已经安装了nginx,那么就先卸载[root@CENTOS7-TEST1 /]# yum remove nginx
安装所需环境
Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。
gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:1
[root@CENTOS7-TEST1 nginx]# yum install gcc-c++
PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
1 [root@CENTOS7-TEST1 nginx]# yum install -y pcre pcre-devel
zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。1
[root@CENTOS7-TEST1 nginx]# yum install -y zlib zlib-devel
OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。1
[root@CENTOS7-TEST1 nginx]# yum install -y openssl openssl-devel
注:yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel ## 一次性安装以上依赖包
安装Nginx
使用wget命令下载(推荐)。
1 | [root@CENTOS7-TEST1 nginx]# wget https://nginx.org/download/nginx-1.13.9.tar.gz |
我下载的是1.13.9版本,这个是目前的稳定版。
解压
1 | [root@CENTOS7-TEST1 nginx]# tar -zxvf nginx-1.13.9.tar.gz && cd nginx-1.13.9 |
配置安装 a、b两种选择其一即可
a 配置 默认安装(只支持http和https)
1 | [root@CENTOS7-TEST1 nginx-1.13.9]# ./configure |
b 配置 添加额外的 TCP 模块
1 | [root@CENTOS7-TEST1 nginx-1.13.9]# ./configure --with-stream --with-stream_ssl_module --with-http_stub_status_module |
编译安装
1 | [root@CENTOS7-TEST1 nginx]# make |
查找安装路径:1
2[root@CENTOS7-TEST1 nginx-1.13.9]# whereis nginx
nginx: /usr/local/nginx
配置文件 对应上面配置安装来配置文件
a 默认安装不支持TCP的配置文件不需要修改,原配置文件即可
b 支持TCP的配置文件配置,添加TCP
1 | stream { ## stream模块,就跟http模块一样 |
启动、停止nginx
1 | [root@CENTOS7-TEST1 nginx-1.13.9]# cd /usr/local/nginx/sbin/ |
开机自启动
即在rc.local增加启动代码就可以了。
1 | [root@CENTOS7-TEST1 sbin]# vi /etc/rc.local |
设置执行权限:[根据需求]
[root@CENTOS7-TEST1 sbin]# chmod 755 rc.local
添加Nginx到系统服务
创建nginx启动命令脚本
1 | [root@CENTOS7-TEST1 /]# vi /etc/init.d/nginx |
插入以下内容, 注意修改PATH和NAME字段, 匹配自己的安装路径
1 | ! /bin/bash |
设置执行权限
1 | [root@CENTOS7-TEST1 /]# chmod a+x /etc/init.d/nginx |
注册成服务
1 | [root@CENTOS7-TEST1 /]# chkconfig --add nginx |
设置开机启动
1 | [root@CENTOS7-TEST1 /]# chkconfig nginx on |
重启, 查看nginx服务是否自动启动
1 | [root@CENTOS7-TEST1 /]# shutdown -h 0 -rn |
对nginx服务执行停止/启动/重新读取配置文件操作
1 | 启动nginx服务 |