[实验] Nginx 模块的设置 (监控模块)

软件准备:

在 Nginx 官网上下载搭建集群所需软件 Nginx:

http://nginx.org/en/download.html

正文:

步骤一:系统环境要求

1) 所有服务器的系统都需要是 CentOS 7 版本
2) 所有服务器系统都需要有 yum 源

步骤二:安装带有状态信息监控模块的 Nginx

# yum -y install gcc pcre-devel openssl-devel
# tar -xvf nginx-1.16.1.tar.gz
# cd nginx-1.16.1
# ./configure \
>--with-http_stub_status_module
# make && make install

(补充:这里以安装 nginx-1.16.1 为例)

步骤三:修改 Nginx 的配置文件

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
location /status {
stub_status on;
#allow IP address;
#deny IP address;
}
......

步骤四:启动 Nginx

# /usr/local/nginx/bin/nginx

步骤五:显示监控模块

通过浏览器访问以下网址:

http://127.0.0.1/status

[步骤] Nginx 网页的设置 (404 网页)

注意:

在设置 Nginx 404 报错页面之前要先安装 Nginx

正文:

步骤一:修改 Nginx 的配置文件

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

server {
......
error_page 404 /40x.html;
......
}

或者:

server {
......
error_page 404 /40x.html;
Error_page 404 /40.xhtml;
......
}

步骤二:自定义 404 报错网页

# vi /usr/local/nginx/html/40.xhtml

[内容] Nginx 缓存 (存储网页数据到客户端的本地硬盘)

注意:

在将 Nginx 网页数据缓存到访问者的本地硬盘之前要先安装 Nginx

正文:

# vi /usr/local/nginx/conf/nginx.conf
将部分内容修改如下:
server {
......
location /{
......
}
location ~* \.(jpd|jpeg|gif|png|css|js|ico|xml)$ {
expires 30d;
}
......
}
......
# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

server {
......
location /{
......
}
location ~* \.(jpd|jpeg|gif|png|css|js|ico|xml)$ {
expires 30d;
}
......
}
......

(补充:这里以将 jpd、jpeg、gif、png、css、js、ico、xml 后缀的文件保存在客户端本地 30 天为例)

[步骤] Nginx 并发数的设置

注意:

在设置 Nginx 并发数之前要先安装 Nginx

正文:

步骤一:设置 Nginx 的并发数

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
Worker_processes 2;
Events{
Worker_connections 65536;
Use epoll;
}
......

(补充:这里以 Nginx 可以开启两个进程并且最大连接数是 65536 为例)

步骤二:修改系统的并发数

2.1 临时修改系统的并发数

# ulimit -a
# ulimit -Hn 100000
# ulimit -Sn 100000

(补充:这里以将最大软件连接和最大硬连接都设置为 100000 为例)

2.2 永久修改系统的并发数

2.2.1 修改 /etc/security/limits.conf 配置文件
# vi /etc/security/limits.conf

添加以下内容:

.....
*    soft  nofile  10000
*    hard  nofile  10000

(补充:这里以将最大软连接和最大硬连接都设置为 10000 为例)

2.2.2 重启系统
# reboot

步骤三:测试修改的结果

# ab -n 2000 -c 1000 http://127.0.0.1

(补充:这里以模拟 2000 个客户端,每个客户端访问 1000 次 127.0.0.1 为例)