-
環境版本說明:
-
服務器系統:CentOS 7.5:
cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) # 輸出結果
- 服務器IP地址:
服務器A:192.168.6.100
服務器B:192.168.6.200 - LNMP版本:
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 GroupName chown -R GroupName:UserName /usr/local/haproxy # 工具版本查看 mysql -uroot -pPwdStr # 登錄後就可以看到mysql的版本 nginx -v # nginx version haproxy -v # HA-Proxy version keepalived -v # keepalived 版本 # 編輯配置文件集合: vim /etc/keepalived/keepalived.conf vim /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 status service rsyslog restart & service rsyslog status service nginx restart & service nginx status service mysql restart & service mysql status service keepalived restart & service keepalived status service crond restart & service crond status lnmp restart
-
離線安裝
如果要安裝的服務器無法連接外網,安裝就要麻煩很多,無法使用lnmp的一鍵安裝包了。只能通過PC下載,然後遠程上傳到服務器,然後再編譯安裝。這裏就不列舉所有軟件的安裝。- 下載MySQL
點擊官方下載 mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar; -
安裝MySQL
# 卸載系統自帶數據庫: rpm -qa | grep MySQL- rpm -ev xxx rpm -e --nodeps mysql yum -y remove mari* # 將下載的文件通過Xftp上傳到服務器 # 解壓文件到當前目錄: tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar # 安裝 MySQL: rpm -ivh MySQL_* # 創建用戶組和用戶: groupadd -r mysql useradd -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/perl make && make test make install perl -v # 只需要安裝一下四個組件就可以了: # 因爲具有依賴關係,所以需要按順序執行: rpm -ivh mysql-community-common-*.rpm rpm -ivh mysql-community-libs-*.rpm rpm -ivh mysql-community-client-*.rpm rpm -ivh mysql-community-server-*.rpm # 查看mysql是否啓動 service mysqld status # 啓動mysql service mysqld start # 停止mysql service mysqld stop # 重啓mysql service 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.gz cd haproxy-1.5.19 # 根據內核版本進行編譯(這裏的版本對應的目標是linux310): make TARGET=linux310 ARCH=x86_64 PREFIX=/usr/local/haproxy make install PREFIX=/usr/local/ # 將可執行文件拷貝到全局目錄下: cp /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy
-
配置HAProxy
# 配置HAProxy; cat /etc/haproxy/haproxy.cfg vim /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.gz cd keepalived-1.4.5 ./configure --prefix=/usr/local/keepalived make && make install mkdir /etc/keepalived cp /usr/local/keepalived/sbin/keepalived /usr/bin/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived # 設置開機啓動 chkconfig keepalived on # 服務操作命令 service keepalived start service keepalived stop service keepalived restart service keepalived status service keepalived restart & service keepalived status
-
配置Keepalived;
# 編輯配置文件: vim /etc/keepalived/keepalived.conf # 主從服務器的配置略有差別,具體配置請參照Keepalived的配置;
- 下載MySQL
LNMP+HAProxy+Keepalived負載均衡 - LNMP基礎環境準備
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.