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

  • 日志服务

    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

相关推荐