目录
二. 通过stub_status模块监控nginx的工作状态
nginx配置文件: /etc/nginx/nginx.conf
nginx额外的配置文件目录 : /etc/nginx/nginx.conf.d
nginx默认网站发布目录: /usr/share/nginx/html
实验设备:Rocky_linux9.4
实验IP : 192.168.226.139
实验准备:关闭防火墙和selinux
首先修改原配置文件,在server块中root对应的发布目录,最后加上/ceshi
- server {
- listen 80;
- listen [::]:80;
- server_name _;
- root /usr/share/nginx/html/ceshi;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
然后进行执行如下命令:
- mkdir /usr/share/nginx/html/ceshi
-
- echo "webserver" > /usr/share/nginx/html/ceshi/index.html
-
- echo "alias" > /usr/share/nginx/html/index.html
-
- systemctl restart nginx
现在打开在浏览器访问nginx主机的IP地址 http://192.168.226.139/ceshi
可以看到访问到webserver字样的网页
现在把nginx.conf配置文件中在server块中加入location块,引入alias关键字
- server {
- listen 80;
- listen [::]:80;
- server_name _;
- root /usr/share/nginx/html;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- location /ceshi {
- alias /usr/share/nginx/html;
- index index.html;
- }
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
然后重启nginx
systemctl restart nginx
然后刷新网站http://192.168.226.139/ceshi发现看到alias页面
再将nginx.conf配置文件中前面加的 alias改成root,然后重启nginx
- location /ceshi {
- root /usr/share/nginx/html;
- index index.html;
- }
systemctl restart nginx
再刷新网页发现又变回webserver页面了
可见alias作用:
alias
指令在 Nginx 中的作用是将指定的 URI 路径映射到文件系统中的一个目录。与 root
指令不同的是,alias
完全替换了匹配到的 URI 部分,而 root
只是追加到匹配到的 URI 之后。
在上面的例子中虽然访问是http://192.168.226.139/ceshi/ ,但是alias参数会把替换掉/ceshi,然后访问默认发布目录。
实验设备:Rocky_linux9.4
实验IP : 192.168.226.139
实验准备:关闭防火墙和selinux
1. 通过 nginx -V 命令查看是否已安装 stub_status 模块,默认安装nginx就有这个模块
2. 编辑 /etc/nginx/nginx.conf 配置文件
vim /etc/nginx/nginx.conf
- #添加如下内容
- location /nginx-status {
- stub_status on;
- access_log /var/log/nginx/nginxstatus.log; # 设置访问日志文件的位置
- auth_basic "nginx-status"; # 启用基本认证,并设置认证区域名称为 "nginx-status"
- auth_basic_user_file /etc/nginx/htpasswd; # 指定包含用户名和密码的文件位置
- }
3. 创建认证口令文件并添加用户zhangsan和ddoo123,密码用md5加密
下载htpasswd工具
- #htpasswd是开源 http 服务器 apache httpd 的一个命令工具,用于生成 http 基本认证的密码文件
- yum install -y httpd-tools
- 创建新的密码文件并添加用户 zhangsan -c 创建解密文件,-m MD5加密
- htpasswd -c -m /etc/nginx/htpasswd zhangsan
-
- 或使用:
- 在已有的密码文件中添加用户 zhangsan
- htpasswd -m /etc/nginx/htpasswd zhangsan
-
- #上述是两种创建方式,根据实际情况灵活使用,当创建命令执行后,会让你输入要设置的密码
4. 重启服务
systemctl restart nginx
5. 客户端访问http://192.168.226.139/nginx-status即可
- Active connections
- 解释: 当前与 Nginx 服务器建立的活动连接数,包括正在处理的连接和保持活动状态的空闲连接。
- server accepts handled requests
- 解释: 这是三组数字,分别表示服务器的总接收次数、总处理次数和总请求次数。
- 5 5 5
- 接收次数 (accepts): 服务器接受的总连接数。
- 处理次数 (handled): 服务器成功处理的总连接数。这通常等于接受的连接数,除非有一些连接在处理前被拒绝或失败。
- 请求次数 (requests): 服务器处理的总请求数。这表示所有连接中发送的 HTTP 请求总数。
- Reading
- 解释: Nginx 正在读取客户端请求头的连接数。
- Writing
- 解释: Nginx 正在向客户端发送响应数据的连接数。
- Waiting
- 解释: 在 keep-alive 状态下等待客户端发起请求的空闲连接数。
实验设备:Rocky_linux9.4
实验IP : 192.168.226.139
实验准备:关闭防火墙和selinux
limit_rate
参数用于限制单个连接的传输速率,这对于控制带宽、节省资源或确保所有用户都有平等的访问体验非常有用。
1. 在/etc/nginx/nginx.conf配置文件的server块中对应的location块加入 autoindex on;
如下:
- location /ceshi {
- root /usr/share/nginx/html;
- index index.html;
- autoindex on; # 启用 autoindex 功能
- }
2.没有tar和zip工具先下载
yum install -y tar zip
然后在自定义的发布目录中创建一个文件
tar -zcvf /usr/share/nginx/html/ceshi/lzz.tar.gz /var
3.删除原来的index.html文件
rm -f /usr/share/nginx/html/ceshi/index.html
4.刷新浏览器重新打开http://192.168.226.139/ceshi/
发现变成了显示的文件,也就是刚创建一个压缩文件
现在点击下载看,会发现很快就下载好了
5.现在编辑/etc/nginx/nginx.conf配置文件的server块中对应的location块加入limit_rate 2k;
如下:
- location /ceshi {
- root /usr/share/nginx/html;
- index index.html;
- autoindex on; # 启用 autoindex 功能
- limit_rate 2k; #对每个连接的限速为2k/s
- }
重启nginx
systemctl restart nginx
6. 然后刷新网页后再点下载
这时下载的速度就被限制为2048B左右,即2k左右。
实验前准备:
关闭防火墙和selinux
下载nginx
yum install -y nginx
修改和创建默认打开文件index.html
- echo "ceshi1" > /usr/share/nginx/html/index.html
- echo "server2" > /opt/index.html
给ens33网卡增加一个IP
ip a a 192.168.226.141/24 dev ens33
实验设备:Rocky_linux9.4
实验IP :
192.168.226.140
192.168.226.141
编辑/etc/nginx/nginx.conf文件
新增一个server块并修改端口和默认打开目录
- server {
- listen 80;
- listen [::]:80;
- server_name _;
- root /usr/share/nginx/html;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
-
-
- server {
- listen 81;
- listen [::]:81;
- server_name _;
- root /opt;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
具体可见图:
像这样编辑好保存退出,重启nginx
systemctl restart nginx
使用浏览器无痕模式访问:
192.168.226.140:80
192.168.226.140:81
可见结果如图:
修改/etc/nginx/nginx.conf文件,修改为:
- server {
- listen 80;
- listen [::]:80;
- server_name 192.168.226.140;
- root /usr/share/nginx/html;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
-
-
- server {
- listen 80;
- listen [::]:80;
- server_name 192.168.226.141;
- root /opt;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
具体见下图修改:
像这样编辑好保存退出,重启nginx
systemctl restart nginx
使用浏览器无痕模式访问:
192.168.226.140
192.168.226.141
可见结果如图:
修改/etc/nginx/nginx.conf文件,修改为:
- server {
- listen 80;
- listen [::]:80;
- server_name web.testpm.com;
- root /usr/share/nginx/html;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
-
-
- server {
- listen 80;
- listen [::]:80;
- server_name web.1000phone.com;
- root /opt;
-
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
-
- error_page 404 /404.html;
- location = /404.html {
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
具体可见下图:
像这样编辑好保存退出,重启nginx
systemctl restart nginx
windows中配置本地域名解析
编辑C:\Windows\System32\drivers\etc\hosts文件,需要用记事本的管理员模式打开编辑
新增下述内容后保存退出:
192.168.226.140 www.text.com longlong.org
使用浏览器无痕模式访问:
web.testpm.com
web.1000phone.com
可见结果如图: