1、Apache web相关

1.1、curl命令

作用:用来与服务器之间传输数据的工具

  • 官网:https://curl.se
  • 支持很多种协议

语法:curl+选项+网址

选项:

  • -A:设置代理给服务器
  • -I(大写i):输出返回头的信息
#直接curl+网址-->获取百度的信息
[root@LJW ~]# curl  www.baidu.com

#保存别人的网址-->结合重定向实现
[root@LJW ~]# curl  www.baidu.com >> /var/www/html/index.html

一般的网站状态码标识

  • 200:网站是正常的
  • 301:网站是有重定向
  • 404:当前页面没找到–>就是没有资源

1.2、脚本实现监控web状态

[root@LJW ~]# mkdir /sh
[root@LJW sh]# vim web_check.sh
#!/bin/bash
#Time:2023年6月26日
#Author By LiangGaRy
#Usage:检测网站状态的脚本
##################################
        #定义一个web的列表
URL_LIST=(\'www.baidu.com\' \'www.qq.com\' www.liangjiawei.com\')
        #对列表进行for循环
for URL in ${URL_LIST[*]}
do
        #先定义一个初始的变量
        FAIL_COUNT=0
        #再定义一个for循环-->用于定义一个数量,检测三次
        for ((i=1;i<3;i++));
        do
                #定义一个数值
                HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_
code}" $URL)
                if [ $HTTP_CODE -eq 200  ];then
                        echo "URL is OK"
                        break
                else
                        let FAIL_COUNT++
                fi
        done
        if [ $FAIL_COUNT -eq 3  ];then
                echo "$URL is Failure!"
        fi
done

2、Apache虚拟主机实验

Apach虚拟主机:

  • 基于IP:192.168.75.131/100
  • 基于域名:
    • www.liangjiawei.net
    • blog.liangjiawei.net
  • 基于端口
    • 192.168.75.131:80
    • 192.168.75.131:81

三种搭建方式都是可以实现虚拟主机;

虚拟主机都是可以节约资源的;

2.1、基于IP的虚拟主机

一个web服务是可以基于多个IP的

基于ip的虚拟实验

  • 添加网络–>多增加一个ip
#查看一下本机的网卡
[root@LJW ~]# ifconfig ens32

#查看ip
[root@LJW ~]# ifconfig  | grep inet| awk NR==1'{print $2}'
192.168.75.131
[root@LJW ~]# ifconfig  | grep inet |sed -n 1p | awk '{print $2}'
192.168.75.131

#添加一个虚拟网卡
[root@LJW ~]# ifconfig ens32:0 192.168.75.10
  • web实现双IP访问
    • 修改配置文件
#修改配置文件
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
	#跳到末行-->添加如下代码
<VirtualHost 192.168.75.131:80>
        DocumentRoot /var/www/html/liangjiawei-131
</VirtualHost>

<VirtualHost 192.168.75.10:80>
        DocumentRoot /var/www/html/liangjiawei-10
</VirtualHost>

#重启服务
[root@LJW ~]# systemctl restart httpd
  • 创建资源以及测试
#创建资源
[root@LJW ~]# mkdir  /var/www/html/liangjiawei-131
[root@LJW ~]# mkdir  /var/www/html/liangjiawei-10
[root@LJW ~]# echo "This is liangjiawei-131" >> /var/www/html/liangjiawei-131/index.html
[root@LJW ~]# echo "This is liangjiawei-10" >> /var/www/html/liangjiawei-10/index.html

#最后测试
[root@Node2 ~]# curl 192.168.75.131
This is liangjiawei-131
[root@Node2 ~]# curl 192.168.75.10
This is liangjiawei-10

2.2、基于端口的虚拟主机

apache也支持基于端口号来访问

  • 修改apache的配置文件
#配置文件中需要开房81 82端口
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
...........
Listen 81
Listen 82
	#在末行添加如下
<VirtualHost 192.168.75.131:81>
        DocumentRoot /var/www/html/liangjiawei-131
        ServerName www.liangjiawei.net
</VirtualHost>
<VirtualHost 192.168.75.131:82>
        DocumentRoot /var/www/html/liangjiawei-10
        ServerName blog.liangjiawei.net
</VirtualHost>

#重启服务
[root@LJW ~]# systemctl restart httpd

#然后进行测试
[root@Node2 ~]# curl 192.168.75.131:81
This is liangjiawei-131
[root@Node2 ~]# curl 192.168.75.131:82
This is liangjiawei-10

2.3、基于域名的虚拟主机

域名是可以购买的,我们没有购买;因此需要本地解析

  • 涉及的文件:服务器端–> /etc/hosts
  • windows:端也可以有一个本地解析的hosts文件
#设置一下服务器的hosts文件
[root@Node2 ~]# vim /etc/hosts
	#在末行添加
192.168.75.131 www.liangjiawei.net
192.168.75.131 blog.liangjiawei.net

#在服务器端同样也一样
[root@LJW ~]# vim /etc/hosts
	#在末行添加
192.168.75.131 www.liangjiawei.net
192.168.75.131 blog.liangjiawei.net
  • 然后修改apache的配置文件
    • 定义两个域名指向的内容
#修改配置文件
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
...........
<VirtualHost *:80>
        DocumentRoot /var/www/html/liangjiawei-131
        ServerName www.liangjiawei.net
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /var/www/html/liangjiawei-10
        ServerName blog.liangjiawei.net
</VirtualHost>

#重启服务
[root@LJW ~]# systemctl restart httpd

#测试域名
[root@Node2 ~]# curl www.liangjiawei.net
This is liangjiawei-131
[root@Node2 ~]# curl blog.liangjiawei.net
This is liangjiawei-10

3、宝塔工具介绍

3.1、宝塔搭建

安装宝塔

  • 宝塔官网:https://www.bt.cn/new/index.html

首先、挂载好光盘源

[root@Node1 ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
  • 然后直接安装下载宝塔面板
[root@Node1 ~]# yum install -y wget && wget -O install.sh https://download.bt.cn 
  • 然后直接安装脚本
#宝塔安装教程上面就一段-->直接复制-->然后等待安装完成即可
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

#安装成功后,会有一串信息-->然后根据提示登录就可以了
......
外网面板地址: http://61.140.194.89:41037/c6bf9389
内网面板地址: http://192.168.75.131:41037/c6bf9389
username: 0eoh2idu
password: 5ef41f45
  • 看到这里代表安装成功

LiangGaRy-学习笔记-Day25-LMLPHP

3.2、基于宝塔搭建LAMP环境

  • 然后选择登录–>登录信息都在安装的信息上面
  • 选择同意

LiangGaRy-学习笔记-Day25-LMLPHP

  • 然后注册一个账号即可

LiangGaRy-学习笔记-Day25-LMLPHP

  • 然后进入到页面–>

LiangGaRy-学习笔记-Day25-LMLPHP

4、zabbix监控

4.1、zabbix搭建

  • 搭建centos的yum源
#进入到/etc/yum.repo
[root@Node1 ~]# cd /etc/yum.repos.d/
	#准备好阿里云的yum源
[root@Node1 yum.repos.d]# ls centos.repo 
centos.repo
  • 登陆zabbix网站
    • 下载包–>rpm -uvh 安装网址
#zabbix的官网https://repo.zabbix.com/zabbix/
	#直接找到自己对应系统的文件
[root@Node1 yum.repos.d]#rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm


[root@Node1 ~]# yum clean all
  • 安装zabbix-server、zabbix-agent 、zabbix-web
#直接安装对应的软件包
[root@Node1 ~]# yum install zabbix-server-mysql zabbix-agent -y
  • 安装扩展包–>centos-release-scl
    • SCL软件仓库包括
      • php扩展
      • mysql扩展组建
      • ruby版本
[root@Node1 ~]# yum install centos-release-scl -y
[root@Node1 ~]# yum -y install epel-release
  • 修改zabbix.repo源
    • 找到frontend前端模板
      • enabled=1
[root@Node1 ~]#  vim /etc/yum.repos.d/zabbix.repo 
.........
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1					#这里改为1-->启动yum
gpgcheck=0					#跳过检测
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

#安装zabbix-web数据
[root@Node1 ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y --skip-broken
  • 安装mysql
    • 设置授权–>
#安装mysql
[root@Node1 ~]# yum -y install mariadb mariadb-server

#启动mysql-->并且设置开机自启动
[root@Node1 ~]# systemctl restart mariadb
[root@Node1 ~]# systemctl enable mariadb

#查看端口号
[root@Node1 ~]# netstat -antlup | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      13035/mysqld  

#登陆mariadb
[root@Node1 ~]# mysql
........

#创建数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

#创建zabbix用户-->并且设置密码
MariaDB [(none)]> create user zabbix@localhost identified by "123456";
Query OK, 0 rows affected (0.00 sec)

#授权用户
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.01 sec)

#更新授权
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#退出
MariaDB [(none)]> quit
Bye
  • 导入zabbix数据库、数据表等数据到mysql当中;
#查看数据的位置
[root@Node1 ~]# find / -name create.sql.gz 
/usr/share/doc/zabbix-server-mysql-5.0.36/create.sql.gz

#导入数据库
[root@Node1 ~]# zcat  /usr/share/doc/zabbix-server-mysql-5.0.36/create.sql.gz | mysql -uzabbix -p123456 zabbix

#登入进去查看
MariaDB [(none)]> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)
  • 修改zabbix的配置文件
    • 然后给出密码–
#复制一份配置文件
[root@Node1 ~]# cp /etc/zabbix/zabbix_server.conf{,.bak}

#修改配置文件
[root@Node1 ~]# vim /etc/zabbix/zabbix_server.conf
...........
122 # Mandatory: no
123 # Default:
124 # DBPassword=
125  DBPassword=123456			#添加这一份为密码
...........
  • 修改php
    • 指定时间
#修改配置文件
[root@Node1 ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......#修改时区-->对于
 php_value[date.timezone] = Asia/Shanghai
  • 重启各项服务
[root@Node1 ~]# yum -y install httpd
[root@Node1 ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
  • 然后把ip登陆,根据步骤完成剩下配置
06-29 11:24