LNMP+HAProxy+Keepalived负载均衡(二)- 基础服务准备

代码拓星客
• 阅读 2350
  • 日志服务

    1. 修改日志服务配置并重启日志服务;

      vim /etc/rsyslog.conf

      编辑系统日志配置,指定包含的配置文件路径和规则:

      $IncludeConfig /etc/rsyslog.d/*.conf
    2. 为haproxy创建一个独立的配置文件;

      vim /etc/rsyslog.d/haproxy.conf

      编辑配置文件的内容如下:

      $ModLoad imudp        # 取消注释
      $UDPServerRun 514    # 取消注释
      
      # 与“/etc/haproxy/haproxy.cfg”中的配置“log 127.0.0.1 local3”对应
      local3.*    /var/log/haproxy.log
      # 如果不加 “&~”,则除了在/var/log/haproxy.log中写入日志外,也会写入message文件
      &~
    3. 配置“rsyslog”的主配置文件,开启远程日志;

      vim /etc/sysconfig/rsyslog

      修改配置内容如下:

      SYSLOGD_OPTIONS="-c 2 -r -m 0"
      # -c 2 使用兼容模式,默认是 -c 5
      # -r 开启远程日志
      # -m 0 标记时间戳,单位是分钟,为0表示禁用该功能
    4. 重启HAProxy和日志服务并查看各自服务状态:

      service haproxy restart & service haproxy status
      service rsyslog restart & service rsyslog status
      
      # 查看PHP的错误日志配置
      cat /usr/local/php/etc/php.ini | grep error_log
  • 防火墙服务

    1. 开通端口(根据自身需求配置):

      firewall-cmd --zone=public --add-port=3306/tcp --permanent
      firewall-cmd --zone=public --add-port=873/tcp --permanent
      firewall-cmd --zone=public --add-port=10002/tcp --permanent
      firewall-cmd --zone=public --add-port=10001/tcp --permanent
      firewall-cmd --zone=public --add-port=80/tcp --permanent
      firewall-cmd --zone=public --add-port=8080/tcp --permanent
    2. 重启/重新加载防火墙服务并查看其状态:

      systemctl restart firewalld.service
      service firewalld restart && service firewalld status
      firewall-cmd --reload
    3. 测试端口:

      telnet ip port
    4. 第三方防火墙
      这里推荐semanage,优点自行百度,安装配置:

      # 安装端口管理工具semanage;
      yum -y install policycoreutils-python
      # 查看已开通端口;
      semanage port -l|grep http
      # 开通端口;
      semanage port -a -t http_port_t -p tcp port_number # 开放端口port_number,要开通的端口号
      semanage port -d -t http_port_t -p tcp port_number # 关闭端口port_number,http_port_t为端口组名
  • 磁盘分区管理

    1. 查看磁盘与空间

      # 查看当前空间
      df -h
      # 查看可用磁盘
      fdisk -l
    2. 对磁盘进行分区操作

      # 开始对可用磁盘的分区进行操作
      fdisk /dev/sdb
      # 输入m,查看帮助信息
      Command (m for help): m
      # 输入n,开始创建分区
      Command (m for help): n
      # 根据提示进行操作,多数操作可以默认。
    3. 对新的分区进行格式化操作

      # 分区后格式化(先查看:fdisk -l)
      mkfs -t ext4 /dev/sdb1
      mkfs -t ext4 /dev/sdb2
    4. 对格式化后的分区进行挂载
      注意:必须先把路径下的文件备份到其他路径下,否则挂载后不会显示原文件,除非取消挂载,才能看到原有的文件

      # 挂载到已有目录(根据自己的情况修改路径)
      mkdir -p /space/wwwroot
      mkdir -p /space/data
      mount -w /dev/sdb1 /space/wwwroot
      mount -w /dev/sdb2 /space/data
      mount -o remount -w /dev/sdb2 /space/data
    5. 取消挂载

      # 取消挂载
      umount /space/data
      # 如果结果提示文件正忙(is busy),需要先干掉占用文件的进程
      # 查看占用文件夹的进程,返回结果***c,其中***为pid
      fuser -m /space/data
      kill -9 pid
      umount /space/data
  • 常用命令重命名:alias(Linux自带工具)

    # 用法:alias [-p] [name[=value] ... ]    注意‘=’和字符串之间不能包含空格
    # alias命令的用法:
    # 显示当前设置的所有别名:
    alias
    # 只显示某个别名代表的含义可输入alias name,比如:
    alias cronlog
    # 为命令设置别名可输入alias 新命令='原命令 选项/参数',比如:
    alias cronlog='cat /var/log/cron'
    # 取消命令别名,如:
    unalias cronlog
    # 一次执行多个命令,如:
    alias restarthk='service keepalived restart && service keepalived status'
    
    # 以上自定义的命令在服务器重启后就会失效,如果要永久生效,需要编辑配置文件
    vim ~/.bashrc
    
    # 将上面的命令添加到文档中,保存并退出,如将下面的命令添加到文档中,然后保存退出:
    alias showip='echo -e "\033[34m \033[5m自定义命令:显示IP \033[0m \n" && ip addr'
    
    # 使配置文件生效
    source ~/.bashrc
    
    # 之后就可以直接使用showip查看服务器ip
    showip
  • 其他命令

    # 获取服务的pid:
    # 因调用次数多,性能受限
    ps -A |grep "haproxy"| awk '{print $1}'
    # pgrep跟上面的效果相同,但因是单一命令,性能比上面要好的多
    pgrep 'haproxy'
    # 只能获取程序的文名匹配到的进程号
    pidof 'haproxy'
    # 关掉haproxy的所有进程:
    kill -TERM $(pgrep 'haproxy')
    # 终止/杀掉进程:
    HUP 1   # 控制中的终端/程序中断 
    INT 2   # 键盘的插入指令(同 Ctrl + C) 
    QUIT 3  # 键盘的中断指令(同 Ctrl + \) 
    TERM 15 # 程序的终止指令 
    KILL 9  # 程序的强制终止指令(暴力砍掉) 
    CONT 18 # 程序的再启动指令(STOP(19) 后再重新启动) 
    STOP 19 # 程序的停止指令(同 Ctrl + Z)
    
    # 查看端口占用情况:
    lsof -i tcp:80
    # 列出所有端口:
    netstat -ntlp
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这