实战综合:企业级监控(上)

1、内部自建的http文件服务器

- nginx服务器

- 管理文件

安装nginx

检查下是否有安装gcc、openssl

gcc --version

openssl

没有的话需要安装gcc、openssl

yum gcc openssl

yum install pcre pcre-devel

yum install zlib zlib-devel

下载nginx包

wget https://nginx.org/download/nginx-1.24.0.tar.gz

解压nginx gz包

tar -zxvf nginx-1.24.0.tar.gz

cd nginx-1.24.0

./configure \
--prefix=/opt/nginx \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre

make

make install

创建nginx用户 (useradd -M -s /sbin/nologin nginx 命令将创建一个名为nginx的新用户,不为其创建主目录,并设置其登录shell为/sbin/nologin,这意味着这个用户不能登录系统)

useradd -M -s /sbin/nologin nginx

添加nginx service文件

vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx -high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t -c /opt/nginx/conf/nginx.conf
ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

重新加载服务

systemctl daemon-reload

启动nginx

systemctl start nginx

配置nginx.conf配置文件

charset utf-8;

location / {
root /nginx_packages;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}

 

    1. root /nginx_packages;
      这一行定义了当请求匹配这个 location 块时,Nginx应该在哪里查找请求的文件。在这个例子中,所有以 / 开头的请求URI将会从 /nginx_packages 目录中查找对应的文件或目录。例如,如果客户端请求 /image.jpg,Nginx会在 /nginx_packages/image.jpg 中查找这个文件。

    2. autoindex on;
      当请求一个目录而不是具体的文件时,这一行将启用自动索引功能。这意味着Nginx会生成一个目录列表,并发送给客户端。如果 autoindex 被设置为 off(默认是关闭的),请求目录将会返回403 Forbidden错误。

    3. autoindex_exact_size off;
      当启用自动索引时,这个指令控制目录列表中文件大小的显示方式。设置为 off 时,文件大小将以易读的格式(例如 KB, MB)显示,而不是精确的字节数。设置为 on 则会显示精确的文件大小(字节数)。

    4. autoindex_localtime on;
      这个指令控制自动索引中时间的显示方式。当设置为 on 时,目录列表中的时间戳将会以服务器本地时间显示,而不是GMT(格林尼治标准时间)。如果设置为 off,时间戳将以GMT显示。

文件配置好后,重启nginx服务

systemctl restart nginx.service

创建访问目录

mkdir /nginx_packages

拷贝文件到packages目录

cp nginx-1.24.0.tar.gz /nginx_packages/

 

递归方式更改上面文件目录所属主

chown nginx.nginx -R /nginx_packages

测试下是另一台机器下载该文件

wget http://192.168.242.134/nginx-1.24.0.tar.gz

看到测试成功

http服务器搭建完成

为了方便管理一些常用的文件可以统一放置在这个文件服务下

2、ansible:解决大规模集群自动化运维的神器

- 同时连接数十台服务器

- 批量执行操作

- 检测健康度

ansible安装

安装epel源

yum install epel-release

yum install ansible

mkdir ansible

cd ansible

vim ansible.cfg

vim hosts

使用公钥方式登录

ssh-keygen

在这个目录下可以看到私钥和公钥

ls -l ~/.ssh/

id_rsa

id_rsa.pub

使用ansible传公钥文件到各服务器

创建目录

ansible node_exporters -i hosts -m shell -a 'mkdir /root/.ssh'

传送文件

ansible node_exporters -i hosts -m copy -a 'src=/root/.ssh/id_rsa.pub dest=/root/.ssh/authorized_keys'

批量ping hosts文件里配置的服务器

ansible node_exporters -i hosts -m ping

node_exporters表示hosts文件中设置的 192.168.242.132 192.168.242.131机器

黄色部分表示执行成功

发送公钥文件

ansible node_exporters -i hosts -m copy -a 'src=/root/.ssh/id_rsa.pub dest=/root/.ssh/authorized_keys'

现在可以直接ssh免密连接到其它机器

ssh 192.168.242.131

posted @ 2024-03-10 20:35  ~技术小白  阅读(3)  评论(0编辑  收藏  举报