-
環境版本說明:
-
伺服器系統:CentOS 7.5:
cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) # 輸出結果
- 伺服器IP地址:
Web伺服器:192.168.6.100,192.168.6.110
DB伺服器:192.168.6.200,192.168.6.210
虛擬IP:192.168.6.111,192.168.6.211(後面配置Keepalived時使用) - 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(DB伺服器可以只安裝資料庫
./install.sh db
):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(請參考LNMP+HAProxy+Keepalived負載均衡(三)- 配置檔案彙總);
# 安裝完成後,列印出的安裝日誌裡面有一些有用的提示資訊,如: # 檢視臨時密碼: 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(請參考LNMP+HAProxy+Keepalived負載均衡(三)- 配置檔案彙總);
# 配置HAProxy; cat /etc/haproxy/haproxy.cfg vim /etc/haproxy/haproxy.cfg # 編輯配置檔案內容 # 重啟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(請參考LNMP+HAProxy+Keepalived負載均衡(三)- 配置檔案彙總);
# 編輯配置檔案: vim /etc/keepalived/keepalived.conf # 主從伺服器的配置略有差別,具體配置請參照Keepalived的配置;
- 下載MySQL
LNMP+HAProxy+Keepalived負載均衡(一)- LNMP基礎環境準備
相關文章
- LNMP+HAProxy+Keepalived負載均衡(二)- 基礎服務準備LNMP負載
- 負載均衡基礎知識負載
- PHP基礎教程-02 搭建環境準備PHP
- Linux環境下Nginx及負載均衡LinuxNginx負載
- 搭建LVS負載均衡測試環境負載
- Flutter(一) 環境準備Flutter
- 畫江湖之 docker 篇 【lnmp 環境基礎搭建】DockerLNMP
- 畫江湖之 docker 篇 [lnmp 環境基礎搭建]DockerLNMP
- 負載均衡服務之HAProxy基礎入門負載
- LVS負載均衡-基礎知識梳理負載
- 負載均衡環境搭建實戰之apache和tomcat負載ApacheTomcat
- 在阿里雲負載均衡下需要做好哪些準備?阿里負載
- 基於Docker搭建LNMP環境DockerLNMP
- 11g ADG級聯備庫基礎測試環境準備
- 負載均衡技術(一)———負載均衡技術介紹負載
- (1)環境準備
- Linux環境搭建Nginx+Tomcat負載均衡叢集LinuxNginxTomcat負載
- 在 kubernetes 環境中實現 gRPC 負載均衡RPC負載
- MySQL Route負載均衡與讀寫分離Docker環境使用MySql負載Docker
- Oracle 19C OGG基礎運維-01環境準備Oracle運維
- 0. 準備環境
- windows第七層負載均衡 基於IIS的ARR負載均衡詳解Windows負載
- PHP 一鍵 Docker LNMP 環境PHPDockerLNMP
- 負載均衡負載
- LNMP 分散式叢集(一):Nginx+PHP平臺搭建與負載均衡配置LNMP分散式NginxPHP負載
- gRPC負載均衡(客戶端負載均衡)RPC負載客戶端
- gRPC負載均衡(自定義負載均衡策略)RPC負載
- LNMP 環境搭建LNMP
- 搭建lnmp環境LNMP
- lnmp環境搭建LNMP
- windows伺服器第四層負載均衡_基於NLB負載均衡詳解Windows伺服器負載
- nginx+php負載均衡叢集環境中的session共享方案梳理NginxPHP負載Session
- 基於Docker的LNMP開發環境DockerLNMP開發環境
- 全棧必備——負載均衡的應用全棧負載
- 磁碟陣列,雙機熱備,負載均衡陣列負載
- Oracle安裝——環境準備Oracle
- 流機制環境準備
- 利用 Docker 一鍵搭建 LNMP 環境DockerLNMP