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
- 看到这里代表安装成功
3.2、基于宝塔搭建LAMP环境
- 然后选择登录–>登录信息都在安装的信息上面
- 选择同意
- 然后注册一个账号即可
- 然后进入到页面–>
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版本
- SCL软件仓库包括
[root@Node1 ~]# yum install centos-release-scl -y
[root@Node1 ~]# yum -y install epel-release
- 修改zabbix.repo源
- 找到frontend前端模板
- enabled=1
- 找到frontend前端模板
[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登陆,根据步骤完成剩下配置