Nginx架构详解:nginx 的安装和配置

Nginx架构详解:nginx 的安装和配置_第1张图片

前言

在现在的行业情况下,服务器集群基本已经是每个互联网公司所必须的,而负载均衡在集群中重要性不言而喻。 
之前一直使用IHS软件与F5硬件搭配作为优秀的负载均衡的解决方案,毕竟是银行也负担的起,但是对于一般企业来说,这样的阵容明显是太过了,所以中小企业更偏向于使用免费的Nginx作反向代理。 
今天我们就来做一下,在Linux下使用Nginx做反向代理实现分流。(本文使用Centos7)

环境搭建

1.安装Nginx的依赖

执行yum命令下载安装Nginx依赖文件

yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel

Nginx架构详解:nginx 的安装和配置_第2张图片

参数分析:

gcc环境【nginx编译使用】,zlib【压缩、解压】,pcer【使用perl库解析正则】
openssl【安全套接字层密码库,主要的密码算法、常用的密钥和证书封装管理功能及SSL协议】


2.下载Nginx

我们先从http://nginx.org/en/download.html找到当前Nginx的版本,Stable version是稳定版(建议使用此版本)

Nginx架构详解:nginx 的安装和配置_第3张图片

wget http://nginx.org/download/nginx-1.12.2.tar.gz

Nginx架构详解:nginx 的安装和配置_第4张图片


3.解压文件

tar -xvf nginx-1.12.2.tar.gz


4.进入nginx目录

cd nginx-1.12.2


5.配置Nginx编译参数

(以下为同一行,不要回车换行,另外每个参数后的"\"斜杠也是存在的,另外文中的文件夹比如/etc/nginx,/var/log/nginx需要执行前手动建好)

./configure \
--user=nginx \
--group=nginx \
--prefix=/etc/nginx \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-file-aio

参数分析:

user:指定程序运行时的非特权用户(如使用root不指定用户可忽略)
group:指定程序运行时的非特权用户组(如使用root不指定用户组可忽略)
prefix:指定安装目录
pid-path:指向PID文件
lock-path:指向文件锁定(安装文件锁定,防止误操或被利用)
error-log-path:错误日志目录
http-log-path:access日志路径
with-http_gzip_static_module:(启用在线实时压缩输出数据流)
with-http_stub_status_module:(获取nginx自上次启动以来的工作状态,状态监控)
with-http_ssl_module :支持https,需已安装openssl(第一步已经安装过了)
with-pcre :启用pcre库
with-file-aio:启用APL文件传输格式

Nginx架构详解:nginx 的安装和配置_第5张图片


6.编译并安装

make && make install

之后我们可以在我们配置的安装目录/etc/nginx下看到conf,html,sbin文件夹,这就表示我们安装完成


7.启动

如果在第5步中指定了user与group,则需要创建该组与用户(未指定无需创建)

groupadd -g 3001 nginx
useradd -g 3001 -u 3001 -m nginx

然后我们在安装目录/etc/nginx/sbin下启动

./nginx

查看是否启动成功

ps -ef|grep -i nginx

通过在浏览器输入IP回车,看到如下页面就是成功了,默认80端口

Nginx架构详解:nginx 的安装和配置_第6张图片


8.其他命令

./nginx -s quit		 停止
./nginx -s stop 强制停止
./nginx -s quit && ./nginx 重启


更多精彩内容请关注“IT实战联盟”公*众*号哦~~~

你可能感兴趣的:(互联网技术,java-web)