环境版本说明:服务器系统:CentOS 7.5:cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core) # 输出结果服务器IP地址: 服务器A:192.168.6.100 服务器B:192.168.6.200LNMP版本: lnmp1.5 下载地址:http://soft.vpser.net/lnmp/ln…准备安装环境(两台服务器都需要执行):# 关闭selinux(如果是centos系统,默认会开启selinux,会引发很多权限问题)vim /etc/selinux/config# 把SELINUX=enforcing改为SELINUX=disabled# 保存退出,并执行下面的命令使配置立即生效:setenforce 0# 升级所有包,改变软件设置和系统设置,系统版本内核都升级# yum -y update# 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变yum -y upgrade# 安装后面用到的软件yum -y install haproxy keepalived vim crontabs mlocate && updatedb# 创建文件夹,并将lnmp安装包下载到当前新创建的文件夹mkdir -p /home/soft && cd /home/soft && wget http://soft.vpser.net/lnmp/lnmp1.5-full.tar.gz# 解压安装包tar -xvf lnmp1.5-full.tar.gz安装lnmp:cd /home/soft/lnmp1.5-full./install.sh根据自己的需要选择MySQL、PHP等软件的版本,按提示操作,然后等待安装完成。我这里都选择最新版本。记好设置的相关密码,后面会用到。其他命令集合(仅用参考,无需执行):# 添加用户组和用户,并为其分配相关文件夹的最高权限:groupadd -r GroupName useradd -g UserName -M -s /sbin/nologin GroupNamechown -R GroupName:UserName /usr/local/haproxy# 工具版本查看mysql -uroot -pPwdStr # 登录后就可以看到mysql的版本nginx -v # nginx versionhaproxy -v # HA-Proxy versionkeepalived -v # keepalived 版本# 编辑配置文件集合:vim /etc/keepalived/keepalived.confvim /etc/rsyslog.conf # 编辑系统日志配置vim /etc/rsyslog.d/haproxy.conf # HAProxy的日志vim /etc/sysconfig/rsyslog # rsyslog的主配置vim /usr/local/nginx/conf/nginx.conf # Nginx的配置vim /etc/haproxy/haproxy.cfg # HAProxy的配置vim /etc/my.cnf # MySQL的配置# 将相关服务设置为开机启动:chkconfig nginx on # Web服务chkconfig mysql on # 数据库服务chkconfig haproxy on # 反向代理服务chkconfig keepalived on # 服务状态监测chkconfig crond on # 计划任务服务chkconfig rsyslog on # 日志服务# 重启各服务集合:service haproxy restart & service haproxy statusservice rsyslog restart & service rsyslog statusservice nginx restart & service nginx statusservice mysql restart & service mysql statusservice keepalived restart & service keepalived statusservice crond restart & service crond statuslnmp restart离线安装 如果要安装的服务器无法连接外网,安装就要麻烦很多,无法使用lnmp的一键安装包了。只能通过PC下载,然后远程上传到服务器,然后再编译安装。这里就不列举所有软件的安装。下载MySQL 点击官方下载 mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar;安装MySQL# 卸载系统自带数据库:rpm -qa | grep MySQL-rpm -ev xxxrpm -e –nodeps mysqlyum -y remove mari*# 将下载的文件通过Xftp上传到服务器# 解压文件到当前目录:tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar# 安装 MySQL:rpm -ivh MySQL_# 创建用户组和用户:groupadd -r mysqluseradd -g mysql mysql# 为MySQL的数据库文件夹授权:chown -R mysql:mysql /home/lnmp/mysql/data/# 相应的依赖 # 1. libaio # 2. net-tools # 3. perl# 安装perl./Configure -des -Dprefix=/usr/bin/perlmake && make testmake installperl -v# 只需要安装一下四个组件就可以了:# 因为具有依赖关系,所以需要按顺序执行:rpm -ivh mysql-community-common-.rpmrpm -ivh mysql-community-libs-.rpmrpm -ivh mysql-community-client-.rpmrpm -ivh mysql-community-server-*.rpm# 查看mysql是否启动service mysqld status# 启动mysqlservice mysqld start# 停止mysqlservice mysqld stop# 重启mysqlservice mysqld restart配置MySQL# 安装完成后,打印出的安装日志里面有一些有用的提示信息,如:# 查看临时密码:cat /root/.mysql_secret# /usr/bin/mysql_secure_installation# New default config file was created as /usr/my.cnf and# will be used by default by the server when you start it.# WARNING: Default config file /etc/my.cnf exists on the system# This file will be read by default by the MySQL server# If you do not want to use this, either remove it, or use the# –defaults-file argument to mysqld_safe when starting the server# 登录后修改密码:mysql> SET PASSWORD = PASSWORD(‘DBPwdStr’);# 为数据库创建访问账户,修改账户的限制IP,查询用户表:mysql> GRANT ALL ON . TO ‘username’@’%’ IDENTIFIED BY ‘DBPwdStr’ WITH GRANT OPTION;mysql> update mysql.user set host=’%’ where host=’::1’;mysql> delete from mysql.user where host<>’%’;mysql> select * from mysql.user \G;# 编辑MySQL的配置文件:vim /etc/my.cnf# 启动MySQL服务:service mysql restart && service mysql status# 启动错误# The server quit without updating PID file (/home/lnmp/mysql/data/localhost.localdomain.pid).# 1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限# 解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!# 2.可能进程里已经存在mysql进程# 解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!# 3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。# 解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,将它删除。# 4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,查看该文件的[mysqld]下有没有指定的数据目录(datadir)。# 解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data安装计划任务管理工具 - crontabs 点击链接下载 crontabs-1.11-6.20121102git.el7.noarch.rpm,如需下载其他版本,请访问官网; 安装:rpm -ivh crontabs-1.11-6.20121102git.el7.noarch.rpm 添加自动备份任务,具体操作请参考MySQL的自动备份。下载(需要连接VPN)并安装HAProxy 点击链接下载 haproxy-1.5.19.tar.gz,如需下载其他版本请访问官网; 安装HAProxy:# 添加用户组和用户:groupadd -r haproxy useradd -g haproxy -M -s /sbin/nologin haproxy# 为安装文件夹授权:chown -R haproxy:haproxy /usr/local/haproxy# 查看内核:uname -r# 解压安装包tar -xvf haproxy-1.5.19.tar.gzcd haproxy-1.5.19# 根据内核版本进行编译(这里的版本对应的目标是linux310):make TARGET=linux310 ARCH=x86_64 PREFIX=/usr/local/haproxymake install PREFIX=/usr/local/# 将可执行文件拷贝到全局目录下:cp /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy配置HAProxy# 配置HAProxy;cat /etc/haproxy/haproxy.cfgvim /etc/haproxy/haproxy.cfg# 编辑配置文件内容,请参考HAProxy的负载均衡# 重启HAProxy服务;haproxy -f /etc/haproxy/haproxy.cfg# 测试HAProxy;ps -ef | grep haproxy# 访问HAProxy代理的地址和端口,分别停掉备服务器的Nginx服务后,继续访问正常则说明基本配置没问题;下载并安装Keepalived 点击链接下载Keepalived 1.4.5,下载其他版本请访问官网; 安装Keeplived;tar -xvf keepalived-1.4.5.tar.gzcd keepalived-1.4.5./configure –prefix=/usr/local/keepalivedmake && make installmkdir /etc/keepalivedcp /usr/local/keepalived/sbin/keepalived /usr/bin/keepalivedcp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.confcp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived# 设置开机启动chkconfig keepalived on# 服务操作命令service keepalived startservice keepalived stopservice keepalived restartservice keepalived statusservice keepalived restart & service keepalived status配置Keepalived;# 编辑配置文件:vim /etc/keepalived/keepalived.conf# 主从服务器的配置略有差别,具体配置请参照Keepalived的配置;