2023-9-8 11:28
Linux 专栏 062 运维常见问题(8)
68、配置本地 yum 源CentOS 7 配置本地 yum 源,参考这个专栏就足够了。1)备份原来的 yum 源创建一个目录,备份原来的 yum 源文件cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak 2)挂载镜像新建一个目录,用于挂载镜像mkdir /opt/centos将镜像包上传到目录/rootcd /root
mount -o loop CentOS-7-x86_64-DVD-1810.iso /opt/centos3)新建 yum 源编写 httpyum.repo 文件vim /etc/yum.repo.d/httpyum.repo[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=14)查看镜像内容查看镜像有哪些内容ls -l /opt/centos/5)关闭防火墙和 selinux为了减少不必要的麻烦,关闭它们systemctl stop firewalld
setenforce 0写入配置文件,让它永久生效sed -i.bak 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config6)安装 httpd这是为了给其他服务器提供服务,让它们可以使用这个软件仓库yum clean all && yum repolist
yum -y install httpd7)新建目录目的是,将镜像挂载到这个目录下mkdir /var/www/html/centos8)拷贝挂载内容过去将镜像内容拷贝到 http 的目录下cp -rfv /opt/centos/* /var/www/html/centos/ 9)启动服务并设置开机启动启动 http 服务,并且将该服务设置成开机启动systemctl start httpd && systemctl enable httpd10)修改 yum 源其中,本机的 IP地址为 192.168.1.20,需要根据实际情况,换成自己的服务器的 IP 地址vim /etc/yum.repo.d/httpyum.reponame=centos
baseurl=http://192.168.1.20/centos
gpgcheck=0
enabled=111)清除缓存列出 rpm 包清缓存,重新加载yum clean all && yum repolist69、查看日志中访问次数最多的前 10 个 IP访问 apache 服务的前 10 个 IPcat /var/log/httpd/access_log | awk '{print $1}'| sort |uniq -c | sort -rn|head70、Nginx 负载均衡策略假设 Nginx 服务器 IP 和端口为:192.168.1.101:80两台后端服务器 IP 和端口:192.168.1.102:8080192.168.1.103:8080则系统访问地址:http://192.168.1.101Nginx 负载均衡策略有以下6种Nginx 配置文件 nginx.conf1)轮询:请求按照时间顺序,排列次序,逐一分配到后端服务器http {
#配置轮询
upstream backend_servers {
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
server {
listen 80;
server_name example.com;
location / {
#将请求转发到upstream服务器组中的一个服务器上
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}2)加权轮询:考虑后端接受的权重,指定后端轮询的几率。http {
#配置加权轮询
upstream backend_servers {
server 192.168.1.102:8080 weight=3;
server 192.168.1.103:8080 weight=1;
}
server {
listen 80;
server_name example.com;
location / {
#将请求转发到upstream服务器组中的一个服务器上
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}3)IP哈希:根据哈希结果,将请求分配到后端服务器http {
#配置ip哈希
upstream backend_servers {
ip_hash;
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
server {
listen 80;
server_name example.com;
location / {
#将请求转发到upstream服务器组中的一个服务器上
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}4)最少连接数:将请求转发给当前连接数最少的后端服务器http {
#配置最少连接数
upstream backend_servers {
least_conn;
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
server {
listen 80;
server_name example.com;
location / {
#将请求转发到upstream服务器组中的一个服务器上
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}5)Fair算法:基于每个后端服务器的响应时间和连接数来动态调整权重,以实现更均匀的负载分布http {
#配置Fair算法
upstream backend_servers {
fair;
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
server {
listen 80;
server_name example.com;
location / {
#将请求转发到upstream服务器组中的一个服务器上
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}6)URL哈希:将请求的 URL 转换为一个哈希值,然后将哈希值映射到后端服务器列表的一个服务器上http {
#配置URL哈希
upstream backend_servers {
hash $request_uri;
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
server {
listen 80;
server_name example.com;
location / {
#将请求转发到upstream服务器组中的一个服务器上
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}学了就行动起来吧,更多运维问题,后续更新。更多命令请前往 :Linux 专栏内容合集