久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      CentOS服務(wù)器分布式環(huán)境安裝教程

      2. 服務(wù)器規(guī)劃

      操作系統(tǒng)版本為:

      CentOS Linux release 7

      軟件配置:

      服務(wù)器

      安裝軟件

      Server1

      Nginx+keepalived(主) 重定向服務(wù)(redirect)

      Server2

      Postgresql(主) redis(從) 重定向服務(wù)(redirect)

      Server3

      Postgresql(從) redis(主) Nginx+keepalived(備)

      Server4

      Postgresql(日志) redis(從) 重定向服務(wù)

      3. 安裝包目錄

      4. 安裝前準(zhǔn)備

      將所需要的安裝軟件分別上傳到對(duì)應(yīng)的服務(wù)器上(如無(wú)特殊要求最好安裝到/opt目錄, 關(guān)閉防火墻, 上傳yum安裝包。

      4.1Centos7 關(guān)閉防火墻(重要)

      systemctl stop firewalld.service
      systemctl disable firewalld.service

      查看防火墻狀態(tài):

      firewall-cmd –state

      結(jié)果如上圖所示,則代表已經(jīng)關(guān)閉

      4.2上傳” rpm-packages”到/opt目錄

      4.3安裝rpm packages

      cd /opt/rpm-packages

      rpm -Uvh –force–nodeps *.rpm

      5. 安裝JDK(建議所有服務(wù)器都安裝)

      5.1上傳 ”軟件-jdk”里面的文件到/opt

      5.2查看現(xiàn)有jdk

      rpm -qa|grep java

      若結(jié)果如上則跳過(guò)5.3

      5.3刪除現(xiàn)有jdk

      rpm -e –nodeps

      5.4安裝jdk1.7

      rpm -ivh/opt/jdk-7u80-linux-x64.rpm

      5.5驗(yàn)證JDK是否正確安裝

      java -version

      如果結(jié)果如上,則代表安裝正確

      6. Nginx 安裝(server1, server3)

      6.1上傳 ”軟件-nginx” 里面的文件到/opt

      6.2安裝

      cd /opt

      tar -zxvfopenresty-1.11.2.5.tar.gz

      cdopenresty-1.11.2.5

      ./configure

      gmake

      gmake install

      6.3創(chuàng)建軟鏈

      ln -s/usr/local/openresty/nginx/sbin/nginx /usr/bin/nginx

      6.4修改配置文件

      vim /usr/local/openresty/nginx/conf/nginx.conf

      增加upstream(如果有多個(gè)重定向服務(wù)器,需要配置多個(gè)server, 例子是2個(gè), 位置與server平級(jí),可以參考配置樣例):

      upstream myserver{

      server 10.33.26.125:8080; # (重定向服務(wù)器IP+端口)

      server 10.33.26.126:8080; # (重定向服務(wù)器IP+端口)

      }

      替換原來(lái)的location /

      location / {

      set $urlParams '';

      rewrite_by_lua_filelua/get_args.lua;

      proxy_passhttp://myserver$urlParams;

      }

      配置樣例:

      6.5上傳get_args.lua

      cd /usr/local/openresty/nginx

      mkdir lua

      cd lua

      cp /opt/get_args.lua ./

      6.6啟動(dòng)openResty

      nginx -c /usr/local/openresty/nginx/conf/nginx.conf

      6.7查看nginx是否安裝成功

      ps -ef|grep nginx

      若結(jié)果如上圖,則代表安裝成功,如果失敗,可以用以下腳本查看詳情:

      tail -f/usr/local/openresty/nginx/logs/error.log

      7. Keepalived安裝(server1,server3)

      7.1解壓安裝

      cd /opt

      tar -zxvf keepalived-1.3.4.tar.gz

      cd keepalived-1.3.4

      ./configure –prefix=/usr/local/keepalived–sysconf=/etc

      make

      make install

      7.2建立軟鏈

      ln-s /usr/local/keepalived/sbin/keepalived /usr/sbin/keepalived

      7.3修改配置文件()

      注意:先清空原有文件內(nèi)容,然后按主從添加對(duì)應(yīng)的內(nèi)容

      Vim清空文件命令:dG

      vim /etc/keepalived/keepalived.conf

      =============主節(jié)點(diǎn)配置=================

      global_defs {

      router_id LVS_DEVEL_1

      }

      vrrp_scriptchk_nginx {

      script"/etc/keepalived/nginx_check.sh"

      interval 2

      weight -20

      }

      vrrp_instance VI_1{

      state MASTER

      interface ens33 #網(wǎng)卡名稱 可用ip addr查看

      virtual_router_id 51

      priority 100

      advert_int 1

      authentication {

      auth_type PASS

      auth_pass 1111

      }

      track_script {

      chk_nginx

      }

      virtual_ipaddress {

      10.33.26.120 #虛擬IP(VIP)

      }

      }

      =============從節(jié)點(diǎn)配置=======================

      global_defs {

      router_id LVS_DEVEL_2

      }

      vrrp_scriptchk_nginx {

      script"/etc/keepalived/nginx_check.sh"

      interval 2

      weight -20

      }

      vrrp_instance VI_1{

      state backup

      interface ens33 #網(wǎng)卡名稱 可用ip addr查看

      virtual_router_id 51

      priority 98

      advert_int 1

      authentication {

      auth_type PASS

      auth_pass 1111

      }

      track_script {

      chk_nginx

      }

      virtual_ipaddress {

      10.33.26.120 #虛擬IP(VIP)

      }

      }

      主配置截圖如下:

      從配置截圖如下:

      7.4上傳nginx_check.sh

      cd /etc/keepalived

      cp /opt/nginx_check.sh ./

      chmod +x nginx_check.sh

      7.5啟動(dòng)keepalived

      keepalived-f /etc/keepalived/keepalived.conf

      7.6查看keepalived是否安裝成功

      ps-ef|grep keepalived

      若結(jié)果如上圖,則代表安裝成功,如果失敗,可以用以下腳本查看詳情:

      tail -f/var/log/messages

      8. Postgresql安裝(server2-主,server3-從)

      8.1上傳 “軟件-postgresql”里面的文件到/opt

      8.2解壓安裝

      cd /opt

      rpm -ivhpostgresql-9.6.6-1-x64-bigsql.rpm

      8.3配置主從復(fù)制

      8.3.1主機(jī)配置

      8.3.1.1初始化postgres

      /opt/postgresql/pgc start pg96

      按要求輸入密碼(eg:postgres)

      8.3.1.2初始化數(shù)據(jù)庫(kù)(linux和windows二選一,建議用linux)

      8.3.1.3Linux操作

      上傳 “數(shù)據(jù)庫(kù)初始化腳本-linux” 到/opt

      vim /opt/init_db.sh

      修改/opt/init_db.sh中的PG_HOST為主機(jī)IP,PGPASSWORD為8.2輸入的postgres帳戶密碼

      chmod +x/opt/init_db.sh

      sh/opt/init_db.sh

      8.3.1.4Windows操作

      確保Windows環(huán)境下有pg數(shù)據(jù)庫(kù)的環(huán)境

      修改setup.bat中的localhost為主機(jī)IP, PGPASSWORD為8.2輸入的postgres帳戶密碼, 執(zhí)行行以下腳本:

      setup.bat

      備注: 1_create_db.sql中的數(shù)據(jù)庫(kù)名稱:image_text,如果需要自定義修改,請(qǐng)修改成你們需要的名字,其他不要改動(dòng).

      8.3.1.5修改pg_hba.conf

      vim /opt/postgresql/data/pg96/pg_hba.conf

      增加 replica 用戶(10.33.26.125為從機(jī)IP),配置如下:

      host replication replica<從機(jī)IP>/32md5

      配置截圖如下:

      8.3.1.6重啟

      /opt/postgresql/pgcrestart pg96

      8.3.2從機(jī)配置

      8.3.2.1創(chuàng)建用戶和組

      groupadd postgres

      useradd postgres-g postgres

      8.3.2.2將/opt/postgresql目錄授權(quán)給postgres

      chown -R postgres:postgres/opt/postgresql

      8.3.2.3切換到postgres用戶

      su postgres

      8.3.2.4從主節(jié)點(diǎn)拷貝數(shù)據(jù)到從節(jié)點(diǎn)

      /opt/postgresql/pg96/bin/pg_basebackup-h <主機(jī)IP> -U replica -D /opt/postgresql/data/pg96 -X stream

      8.3.2.5配置recovery.conf

      cp/opt/postgresql/pg96/share/postgresql/recovery.conf.sample /opt/postgresql/data/pg96/recovery.conf

      vim/opt/postgresql/data/pg96/recovery.conf

      修改如下配置:

      standby_mode = on # 說(shuō)明該節(jié)點(diǎn)是從服務(wù)器

      primary_conninfo = 'host=<主機(jī)IP> port=5432 user=replica password=replica' # 主服務(wù)器的信息以及連接的用戶

      recovery_target_timeline ='latest'

      配置截圖如下:

      8.3.2.6配置postgresql.conf

      vim/opt/postgresql/data/pg96/postgresql.conf

      修改配置如下:

      hot_standby= on

      8.3.2.7創(chuàng)建logs目錄

      mkdir/opt/postgresql/data/logs

      8.3.2.8啟動(dòng)

      /opt/postgresql/pg96/bin/pg_ctlstart -D /opt/postgresql/data/pg96/ &

      8.3.3驗(yàn)證主從復(fù)制

      登陸主機(jī),查詢:

      select client_addr,sync_state frompg_stat_replication;

      如果有記錄,則代表配置成功

      9. Redis安裝

      9.1說(shuō)明

      server2-從, server3-從, server4-主,建議3臺(tái)或以上,高可用至少要保持2個(gè)sentinel節(jié)點(diǎn)存活

      9.2上傳“軟件-redis- redis-4.0.6.tar.gz”到/opt

      9.3解壓安裝

      cd /opt

      tar xzfredis-4.0.6.tar.gz

      cd redis-4.0.6

      make

      make install

      9.4修改配置文件

      Redis.conf

      從機(jī)將標(biāo)紅的IP地址 改成 主機(jī)IP地址后上傳至/opt/redis-4.0.6

      主機(jī)直接注掉281行上傳至上傳至/opt/redis-4.0.6

      Sentinel.conf

      將標(biāo)紅的IP地址 改成 主機(jī)IP地址后上傳至/opt/redis-4.0.6

      notify_mymaster.sh

      修改后上傳至/opt/redis-4.0.6

      9.5啟動(dòng)redis

      /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/redis.conf

      9.6驗(yàn)證主從配置

      /opt/redis-4.0.6/src/redis-cli -h <主機(jī)IP> -p 6379 info replication

      如果出現(xiàn)以上類似截圖, 則代表配置成功

      9.7高可用(HA )

      9.7.1準(zhǔn)備

      創(chuàng)建sentinel目錄:

      mkdir/opt/redis-4.0.6/sentinel-dir

      授執(zhí)行權(quán)限

      chmod +x /opt/redis-4.0.6/notify_mymaster.sh

      9.7.2啟動(dòng)sentinel, 啟用自動(dòng)切換

      /opt/redis-4.0.6/src/redis-sentinel/opt/redis-4.0.6/sentinel.conf

      9.7.3驗(yàn)證sentinel是否搭建成功

      /opt/redis-4.0.6/src/redis-cli-h <主機(jī)IP> -p 26379 info sentinel

      若結(jié)果如截圖所示, 則代表成功。

      9.7.4在主機(jī)上增加虛擬IP

      /sbin/ip addr add <虛擬IP>/24 dev <網(wǎng)卡名稱>

      虛擬IP和網(wǎng)卡名稱需要和9.4中配置的notify_mymaster中的配置保持一致

      10.Zookeeper安裝

      10.1上傳“軟件-zookeeper”里面的文件到/opt

      10.2解壓

      cd /opt

      tar -zxvf zookeeper-3.4.6.tar.gz

      cd zookeeper-3.4.6/conf

      cp zoo_sample.cfg zoo.cfg

      sh/opt/zookeeper-3.4.6/bin/zkServer.sh start

      10.3驗(yàn)證zookeeper是否安裝成功

      ps -ef|grepQuorumPeerMain

      若上現(xiàn)上述截圖, 則代表配置成功

      tomcat移除項(xiàng)目名

      cd /opt/tomcat-transform/conf/Catalina/localhost

      vim ROOT.xml

      增加如下配置

      13. 啟動(dòng)腳本匯總

      13.1 Nginx

      殺死:nginx -s stop

      啟動(dòng):nginx

      13.2 Keepalived

      殺死: pkill keepalived

      啟動(dòng): keepalived -f /etc/keepalived/keepalived.conf

      13.3 Postgresql

      重啟:/opt/postgresql/pgc restart pg96

      13.4 Redis

      殺死: pkill redis

      啟動(dòng):

      /opt/redis-4.0.6/src/redis-server/opt/redis-4.0.6/redis.conf

      /opt/redis-4.0.6/src/redis-sentinel/opt/redis-4.0.6/sentinel.conf

      get_args.lua:

      local cjson = require "cjson"
      local request_method = ngx.var.request_method
      local args = ""
      local request_uri = ngx.var.request_uri
      if "POST" == request_method then
      ngx.req.read_body()
      local args = ngx.req.get_post_args()
      local param = ""
      for key, val in pairs(args) do
      param = key
      end
      param = cjson.decode(param)
      ngx.var.urlParams = request_uri.."username="..tostring(param.username).."&sign="..tostring(param.sign).."×tamp="..tostring(param.timestamp)
      else
      ngx.var.urlParams = request_uri

      end

      nginx_check.sh

      #!/bin/bash

      if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
      then
      nginx || killall keepalived
      else
      echo "nginx is running"

      fi

      notify_master.sh

      #!/bin/bash
      MASTER_IP=$6
      LOCAL_IP='10.33.26.125' # 本機(jī)IP
      VIP='10.33.26.127' #虛擬IP, 不能與keepalived中的虛擬IP一致
      NETMASK='24'
      INTERFACE='eno16777736' #網(wǎng)卡名稱
      if [ ${MASTER_IP} = ${LOCAL_IP} ]; then
      /sbin/ip addr add ${VIP}/${NETMASK} dev ${INTERFACE}
      /sbin/arping -q -c 3 -A ${VIP} -I ${INTERFACE}
      exit 0
      else
      /sbin/ip addr del ${VIP}/${NETMASK} dev ${INTERFACE}
      exit 0
      fi

      exit 1

      sentinel.conf

      daemonize yes
      port 26379
      protected-mode no
      dir "/opt/redis-4.0.6/sentinel-dir"
      logfile "/opt/redis-4.0.6/sentinel-dir/sentinel26379.log"
      sentinel monitor mymaster 10.33.26.125 6379 2
      sentinel down-after-milliseconds mymaster 3000
      sentinel failover-timeout mymaster 10000
      sentinel parallel-syncs mymaster 1

      sentinel client-reconfig-script mymaster /opt/redis-4.0.6/notify_mymaster.sh

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)