摘要:的操作命令將端口由修改為,修改內(nèi)容如下具體配置可參考下面的配置文件重啟,并查看其狀態(tài)的配置文件服務(wù)器需要修改的配置,僅用參考端口根據(jù)自己的情況修改站點根目錄可以加載自己的配置文件,這里我把配置文件中的內(nèi)容直接替換了原本的節(jié)
Nginx的操作命令
vim /usr/local/nginx/conf/nginx.conf # 將端口由80修改為10001,修改內(nèi)容如下: listen 10001 default_server; # 具體配置可參考下面的nginx配置文件 # 重啟Nginx,并查看其狀態(tài); service nginx restart & service nginx status
Nginx的配置文件(Web服務(wù)器需要修改的配置,僅用參考)
user www www; worker_processes auto; error_log /home/wwwlogs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; multi_accept on; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]."; #limit_conn_zone $binary_remote_addr zone=perip:10m; ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section. server_tokens off; access_log off; server { # 端口根據(jù)自己的情況修改 listen 10001 default_server; server_name _; index index.html index.htm index.php default.html default.htm default.php; # 站點根目錄 root /home/wwwroot/publishPath; include rewrite/laravel.conf; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*.php$ { deny all; } include enable-php.conf; location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /. { deny all; } access_log off; } ????# 可以加載自己的配置文件,這里我把配置文件中的內(nèi)容直接替換了原本的server節(jié)點配置; # include vhost/*.conf; }
MySQL的操作命令
vim /etc/my.cnf service mysql restart & service mysql status lnmp restart
MySQL的配置文件(DB服務(wù)器需要修改的配置,僅用參考)
[client] port = 10002 socket = /tmp/mysql.sock [mysqld] port = 10002 socket = /tmp/mysql.sock # 數(shù)據(jù)庫文件存放位置 datadir = /home/lnmp/mysql/data skip-external-locking key_buffer_size = 128M max_allowed_packet = 1M table_open_cache = 512 sort_buffer_size = 2M net_buffer_length = 8K read_buffer_size = 2M read_rnd_buffer_size = 512K myisam_sort_buffer_size = 32M thread_cache_size = 64 query_cache_size = 64M tmp_table_size = 64M performance_schema_max_table_instances = 4000 explicit_defaults_for_timestamp = true #skip-networking max_connections = 500 max_connect_errors = 100 open_files_limit = 65535 log-bin=mysql-bin binlog_format=mixed server-id = 51 lower_case_table_names = 1 expire_logs_days = 10 replicate_wild_do_table=lgd_system.% # relay_log=mysqld-relay-bin log-slave-updates=YES default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_data_home_dir = /home/lnmp/mysql/data innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /home/lnmp/mysql/data innodb_buffer_pool_size = 512M innodb_log_file_size = 128M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] # 數(shù)據(jù)庫備份賬戶,自行創(chuàng)建并分配相應(yīng)的權(quán)限 user=bakuser password=ZXdfty^& quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 128M sort_buffer_size = 2M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
HAProxy的操作命令
# 負(fù)載狀態(tài)監(jiān)測: # Web服務(wù)器HAProxy - http://192.168.6.111:8080/web # DB服務(wù)器HAProxy - http://192.168.6.211:8080/db # 如果需要通過外網(wǎng)訪問,需要把8080端口映射到外網(wǎng)端口即可。 # 常用命令: vim /etc/haproxy/haproxy.cfg service haproxy restart & service haproxy status
HAProxy的配置文件(Web服務(wù)器)
#--------------------------------------------------------------------- # Global settings #--------------------------------------------------------------------- global # 全局的日志配置,使用log關(guān)鍵字,指定使用127.0.0.1上的syslog服務(wù)中的local0日志設(shè)備,記錄日志等級為info的日志 log 127.0.0.1 local3 # 軟件工作目錄 chroot /var/lib/haproxy # haproxy的pid存放路徑,啟動進(jìn)程的用戶必須有權(quán)限訪問此文件 pidfile /usr/local/haproxy/haproxy.pid # 最大連接數(shù),默認(rèn)4000 maxconn 30000 # 所屬用戶 user haproxy # 所屬組 group haproxy # 以守護進(jìn)程方式運行haproxy daemon # turn on stats unix socket # stats socket /var/lib/haproxy/stats????# socket路徑 #--------------------------------------------------------------------- # common defaults that all the "listen" and "backend" sections will # use if not designated in their block #--------------------------------------------------------------------- defaults mode http????# 默認(rèn)的模式mode { tcp|http|health },tcp是4層,http是7層,health只會返回OK log global????# 采用全局定義的日志 option httplog????# 啟用日志記錄HTTP請求,默認(rèn)haproxy日志記錄是不記錄HTTP請求日志 option dontlognull????# 不記錄健康檢查的日志信息 option http-server-close # 每次請求完畢后主動關(guān)閉http通道 # 如果后端服務(wù)器需要獲得客戶端真實ip需要配置的參數(shù),可以從Http Header中獲得客戶端ip option forwardfor except 127.0.0.0/8 option redispatch????# serverId對應(yīng)的服務(wù)器掛掉后,強制定向到其他健康的服務(wù)器 retries 3 # 3次連接失敗就認(rèn)為服務(wù)不可用,也可以通過后面設(shè)置 timeout http-request 10s??????# http請求超時時間 timeout queue 1m???????# 一個請求在隊列里的超時時間 timeout connect 10s??????# 連接超時 timeout client 1m???????# 客戶端連接超時 timeout server 1m???????# 服務(wù)器連接超時 timeout http-keep-alive 10s??????# 設(shè)置http-keep-alive的超時時間 timeout check 10s????? # 檢測超時 maxconn 3000????# 最大連接數(shù) #--------------------------------------------------------------------- # main frontend which proxys to the backends #--------------------------------------------------------------------- # 前端配置 frontend main *:80 acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .gif .png .css .js use_backend static if url_static default_backend servers #--------------------------------------------------------------------- # static backend for serving up images, stylesheets and such #--------------------------------------------------------------------- # 后臺靜態(tài)文件服務(wù)配置 backend static balance roundrobin server????static1 192.168.6.100:10001 check inter 2000 fall 3 weight 50 server????static2 192.168.6.110:10001 check inter 2000 fall 3 weight 50 #--------------------------------------------------------------------- # round robin balancing between the various backends #--------------------------------------------------------------------- # 后臺服務(wù)配置 backend servers balance roundrobin # 添加cookie配置,將某客戶端引導(dǎo)到之前為其服務(wù)過的后端服務(wù)器上,即和后端某服務(wù)器保持聯(lián)系,防止登錄驗證失效 cookie app_cook insert nocache server????app1 192.168.6.100:10001 check inter 2000 fall 3 weight 50 cookie server1 server????app2 192.168.6.110:10001 check inter 2000 fall 3 weight 50 cookie server2 # HAProxy狀態(tài)監(jiān)控服務(wù)配置 listen stats # 綁定端口 bind *:8080 mode http # stats enable # 訪問地址:192.168.6.100:8080/web 和 192.168.6.110:8080/web stats uri /web stats realm Global statistics # 管理員賬戶 stats auth hapadmin:1qazse$#2
HAProxy的配置文件(DB服務(wù)器)
#--------------------------------------------------------------------- # Global settings #--------------------------------------------------------------------- global pidfile /var/run/haproxy.pid maxconn 30000 user haproxy group haproxy daemon nbproc????1 #--------------------------------------------------------------------- # common defaults that all the "listen" and "backend" sections will # use if not designated in their block #--------------------------------------------------------------------- defaults mode tcp option redispatch retries 3 timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout check 10s maxconn 4096 option abortonclose frontend main bind *:3306 ??default_backend servers backend servers server????mysql1 192.168.6.200:10002 check inter 3000 fall 3 weight 50 server????mysql2 192.168.6.210:10002 check inter 3000 fall 3 weight 50 # 監(jiān)控訪問地址:192.168.6.210:8080/db 和 192.168.6.200:8080/db listen stats mode http bind 0.0.0.0:8080 stats enable stats uri /db stats realm Global statistics stats auth dbadmin:1qazse$#2
Keeplived的操作命令
# 查看已安裝的Keepalived的版本: keepalived -v # 查看配置: cat /etc/keepalived/keepalived.conf # 編輯配置文件: vim /etc/keepalived/keepalived.conf # 測試高可用的遠(yuǎn)程訪問: mysql -h 遠(yuǎn)程數(shù)據(jù)庫ip地址 -P 端口 -u 用戶名 -p mysql -h 192.168.6.200 -P 3306 -u dbuser -p # 開通服務(wù)器間的 vrrp 協(xié)議通信,用于Keepalived通信: firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface 網(wǎng)卡名稱 --destination 224.0.0.18 --protocol vrrp -j ACCEPT; firewall-cmd --reload; # 服務(wù)器的網(wǎng)卡名稱請根據(jù)自己的情況修改, # INPUT代表接收224.0.0.18的報文。 # 在VIP服務(wù)器上測試VIP漂移: ip addr | grep 網(wǎng)卡名稱 # 停止VIP所在服務(wù)器的keepalived服務(wù),并查看VIP是否移除,并查看備用服務(wù)器是否獲取到VIP: service keepalived stop && service keepalived status ip addr | grep 網(wǎng)卡名稱 # 在之前停止keepalived服務(wù)的服務(wù)器上開啟keepalived服務(wù),查看VIP是否已取回: service keepalived start && service keepalived status ip addr | grep 網(wǎng)卡名稱
Keeplived的配置(Web服務(wù)器)
Web主服務(wù)器的配置:
# Master的配置內(nèi)容: ! Configuration File for keepalived global_defs { notification_email { [email protected]????# 收郵件人,可以定義多個 } notification_email_from [email protected]????# 發(fā)件人,可偽裝 smtp_server 127.0.0.1????# 發(fā)送郵件的服務(wù)器地址 smtp_connect_timeout 30????# 連接超時時間 no_email_faults router_id WebMaster vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_script chk_haproxy { # HAProxy服務(wù)監(jiān)測腳本 script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 } vrrp_instance VI_1 { # 每一個vrrp_instance就是定義一個虛擬路由器 state MASTER # 由初始狀態(tài)狀態(tài)轉(zhuǎn)換為master狀態(tài) interface 網(wǎng)卡名稱 # 網(wǎng)卡名稱,如eth0,根據(jù)自己的情況修改 virtual_router_id 100????# 虛擬路由的id號,一般不能大于255的 priority 100 # 優(yōu)先級,數(shù)字越大,優(yōu)先級越高,主比次大 advert_int 1 # 初始化通告 authentication { # 認(rèn)證機制 auth_type PASS auth_pass 666 # 密碼,自行更改,主備一致即可 } track_script { chk_haproxy } virtual_ipaddress { # Web服務(wù)的虛擬ip地址:vip,前面提到的備用的虛擬IP。 #/ brd dev scope label
Web備服務(wù)器的配置:
# Backup的配置內(nèi)容: ! Configuration File for keepalived global_defs { notification_email { [email protected]????# 收郵件人,可以定義多個 } notification_email_from [email protected]????# 發(fā)件人,可偽裝 smtp_server 127.0.0.1????# 發(fā)送郵件的服務(wù)器地址 smtp_connect_timeout 30????# 連接超時時間 no_email_faults router_id WebBackup vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_script chk_haproxy { # HAProxy服務(wù)監(jiān)測腳本 script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 } vrrp_instance VI_1 { # 每一個vrrp_instance就是定義一個虛擬路由器 state BACKUP # 由初始狀態(tài)狀態(tài)轉(zhuǎn)換為backup狀態(tài) interface 網(wǎng)卡名稱 # 網(wǎng)卡名稱,如eth0,根據(jù)自己的情況修改 virtual_router_id 100????# 虛擬路由的id號,一般不能大于255的 priority 90 # 優(yōu)先級,數(shù)字越大,優(yōu)先級越高,主比次大 advert_int 1 # 初始化通告 authentication { # 認(rèn)證機制 auth_type PASS auth_pass 666 # 密碼,自行更改,主備一致即可 } track_script { chk_haproxy } virtual_ipaddress { # Web服務(wù)的虛擬ip地址:vip,前面提到的備用的虛擬IP。 #/ brd dev scope label
Keeplived的配置(DB服務(wù)器)
DB主服務(wù)器的配置:
# Master的配置內(nèi)容: ! Configuration File for keepalived global_defs { notification_email { [email protected]????# 收郵件人,可以定義多個 } notification_email_from [email protected]????# 發(fā)件人,可偽裝 smtp_server 127.0.0.1????# 發(fā)送郵件的服務(wù)器地址 smtp_connect_timeout 30????# 連接超時時間 no_email_faults router_id DBMaster vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_script chk_haproxy { # HAProxy服務(wù)監(jiān)測腳本 script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 } vrrp_instance VI_1 { # 每一個vrrp_instance就是定義一個虛擬路由器 state MASTER # 由初始狀態(tài)狀態(tài)轉(zhuǎn)換為master狀態(tài) interface 網(wǎng)卡名稱 # 網(wǎng)卡名稱,如eth0,根據(jù)自己的情況修改 virtual_router_id 99????# 虛擬路由的id號,一般不能大于255的 priority 100 # 優(yōu)先級,數(shù)字越大,優(yōu)先級越高,主比次大 advert_int 1 # 初始化通告 authentication { # 認(rèn)證機制 auth_type PASS auth_pass 666 # 密碼,自行更改,主備一致即可 } track_script { chk_haproxy }???? virtual_ipaddress { # DB服務(wù)的虛擬ip地址:vip,前面提到的備用的虛擬IP。 #/ brd dev scope label
DB備服務(wù)器的配置:
# Backup的配置內(nèi)容: ! Configuration File for keepalived global_defs { notification_email { [email protected]????# 收郵件人,可以定義多個 } notification_email_from [email protected]????# 發(fā)件人,可偽裝 smtp_server 127.0.0.1 ????# 發(fā)送郵件的服務(wù)器地址 smtp_connect_timeout 30????# 連接超時時間 no_email_faults router_id DBBackup vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_script chk_haproxy { # HAProxy服務(wù)監(jiān)測腳本 script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 } vrrp_instance VI_1 { # 每一個vrrp_instance就是定義一個虛擬路由器 state BACKUP ????# 由初始狀態(tài)狀態(tài)轉(zhuǎn)換為master狀態(tài) interface 網(wǎng)卡名稱 # 網(wǎng)卡名稱,如eth0,根據(jù)自己的情況修改 virtual_router_id 99????# 虛擬路由的id號,一般不能大于255的 priority 90 # 優(yōu)先級,數(shù)字越大,優(yōu)先級越高,主比次大 advert_int 1 # 初始化通告 authentication { ????# 認(rèn)證機制 auth_type PASS auth_pass 666 # 密碼,自行更改,主備一致即可 } track_script { chk_haproxy }???? virtual_ipaddress { # DB服務(wù)的虛擬ip地址:vip,前面提到的備用的虛擬IP。 #/ brd dev scope label
創(chuàng)建Keepalived調(diào)用的腳本
操作命令
mkdir /etc/keepalived/ echo "" > /etc/keepalived/check_haproxy.sh echo "" > /etc/keepalived/clean_arp.sh chmod +x /etc/keepalived/*.sh # 然后編輯兩個腳本的內(nèi)容,如下
/etc/keepalived/check_haproxy.sh
#!/bin/bash # 判斷haproxy是否已經(jīng)啟動 if?[?$(ps?-C?haproxy?--no-header?|?wc?-l)?-eq?0?];?then # 如果沒有啟動,則啟動haproxy程序 haproxy -f /etc/haproxy/haproxy.cfg fi # 睡眠兩秒鐘,等待haproxy完全啟動 sleep?2 # 判斷haproxy是否已經(jīng)啟動 if?[?$(ps?-C?haproxy?--no-header?|?wc?-l)?-eq?0?];?then # 如果haproxy沒有啟動起來,則將keepalived停掉,則VIP自動漂移到另外一臺haproxy機器,實現(xiàn)了對haproxy的高可用 service keepalived stop
/etc/keepalived/clean_arp.sh
#!/bin/sh VIP=$1 GATEWAY=192.168.6.255 # 本機的網(wǎng)卡網(wǎng)關(guān)地址 /sbin/arping -I ens160 -c 5 -s $VIP $GATEWAY &>/dev/null
發(fā)布文件的配置
# 站點根目錄賦權(quán) chmod -R 777 /home/wwwroot/publishPath # PHP環(huán)境配置 vim /home/wwwroot/publishPath/.env # 編輯配置內(nèi)容: APP_DEBUG=false # Web的內(nèi)網(wǎng)VIP,如需外網(wǎng)訪問,則需要將192.168.6.111映射到外網(wǎng),然后將該處的IP改成外網(wǎng)IP APP_URL=http://192.168.6.111 DB_CONNECTION=mysql # DB的內(nèi)網(wǎng)VIP DB_HOST=192.168.6.211 # DB的內(nèi)網(wǎng)端口 DB_PORT=3306 # 數(shù)據(jù)庫名稱 DB_DATABASE=dbName # 數(shù)據(jù)庫用戶名 DB_USERNAME=dbuser # 數(shù)據(jù)庫密碼 DB_PASSWORD=dbpwd # 其他配置選項使用默認(rèn)設(shè)置,這里省略。 # 配置保存退出后重啟php服務(wù): service php-fpm restart
關(guān)于IP的說明
以上說到的IP都是內(nèi)網(wǎng)IP,所有的配置都使用內(nèi)網(wǎng)IP即可。如需外網(wǎng)訪問,只需要把兩個虛擬IP和端口映射到外網(wǎng)即可(注意修改php配置的APP_URL)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40282.html
摘要:日志服務(wù)修改日志服務(wù)配置并重啟日志服務(wù)編輯系統(tǒng)日志配置,指定包含的配置文件路徑和規(guī)則為創(chuàng)建一個獨立的配置文件編輯配置文件的內(nèi)容如下取消注釋取消注釋與中的配置對應(yīng)如果不加,則除了在中寫入日志外,也會寫入文件配置的主配置文件,開啟遠(yuǎn)程日志修改配 日志服務(wù) 修改日志服務(wù)配置并重啟日志服務(wù); vim /etc/rsyslog.conf 編輯系統(tǒng)日志配置,指定包含的配置文件路徑和規(guī)則: ...
閱讀 1056·2022-07-19 10:19
閱讀 1824·2021-09-02 15:15
閱讀 1040·2019-08-30 15:53
閱讀 2686·2019-08-30 13:45
閱讀 2679·2019-08-26 13:57
閱讀 2015·2019-08-26 12:13
閱讀 1032·2019-08-26 10:55
閱讀 579·2019-08-26 10:46