Linux强制重启关机

  1. 如果Linuxreboot或者shutdown失效时,可以打开sysrq然后强制重启或关机
  2.  
  3. #开启sysrq
  4. echo 1 > /proc/sys/kernel/sysrq 
  5.  
  6. #强制把内存缓存数据刷到硬盘上
  7. echo s > /proc/sysrq-trigger
  8.  
  9. #强制立即重启
  10. echo b > /proc/sysrq-trigger 
  11.  
  12. #强制立即关机
  13. echo o > /proc/sysrq-trigger
  14.  
  15. #Docs
  16. https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s3-proc-sys-kernel.html

openssl生成公钥私钥

  1. 生成RSA私钥
  2. [root@localhost ]# openssl genrsa -out rsa_private_key.pem 1024
  3. Generating RSA private key, 1024 bit long modulus
  4. ...................................................++++++
  5. ................................++++++
  6. e is 65537 (0x10001)
  7.  
  8. RSA私钥转换成PKCS8格式
  9. [root@localhost ]# openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt >>PKCS8
  10. -----BEGIN PRIVATE KEY-----
  11. MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAK3yRORPFpdAroGb
  12. zf8fZSJk+W4FUJKOwtFuiFYb/U1IpcRwHIZOILOPHsMPxoKY26rS2Ou12NRv7Un+
  13. xdWV71237Bxch3lC8BgxYOOPW0Kf/Coz0nqQH6t8z74MI5M+lUn8wleYUVGnZpzC
  14. qiAIn/eAQCeN8TN+UacU6Tt8rtFBAgMBAAECgYAskky219EpFqjgiyTgv5Gxm4AS
  15. ggggVbZz5cfHkMp6OChJypR0kaZtfDncr7klE7gN8JMm6uTRopCCCmd1EENSKtYx
  16. dMrNyTKJfy+ZaApmAn1ecRXuIbsTSfpILy1RSBv9kJFY1ZQs8NBLM62V8u5SM7YJ
  17. g1elwFLQmccF2bmE5QJBAOYptj2dPyUsxEzpreCMnlH8FZE4Nf50alcISwEkWSN3
  18. cul2NNCt2Zn/mId0e9Fj15z/khHIWZsaCxe9WXUv3H8CQQDBeQnFJtSDEpp+Yyti
  19. EdLFfupa+oCywvGtbkRTtJFjnXDt19hXoy/HUfLOrBybyHpoozZK+oGvAviucIjK
  20. yXI/AkEA3oyMm20VppNvx9LX/tzZJPrzu7Q3eTAFttvc8mC8FDAmm5lhnjnLwz1C
  21. tg8qvh+lVzhDfBBWnEOFYFIFUuuRbwJBAK4ha0q3dSN3VfeU+BHvKr24SeOSfMzn
  22. qi9HBFY2OXjn1iErWLsf07vYpOmgfKs1V/7fjtkS+C91RC90d5nUj28CQQCmmgdJ
  23. xn10l0N4iQ4co0UclmGYKNkYd+BXLrvPzaSx0v8FlQgcggOOqpDUuSR0Qq3XEhqI
  24. vKnLReXzcEEJuv55
  25. -----END PRIVATE KEY-----
  26.  
  27. 生成公钥
  28. [root@localhost ]# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
  29. writing RSA key
  30.  
  31.  
  32. [root@localhost 1]# ls -1
  33. PKCS8 #PKCS8格式的私钥,从RSA私钥来的
  34. rsa_private_key.pem #RSA私钥
  35. rsa_public_key.pem #RSA公钥

keepalived双机热备服务高可用

keepalived+nginx,场景适用于非高并发,但又偏核心业务

VIP: 192.168.3.111
Node1: 192.168.3.171
Node2: 192.168.3.175

  1. 用户
  2.                         ||
  3.                         ISP
  4.                         ||
  5.                 Virtual IP [192.168.3.111]
  6.                 |                |
  7. Node1[192.168.3.171]        Node2[192.168.3.175]
  1. Node1配置文件:
  2. [root@localhost ~]# cat /etc/keepalived/keepalived.conf
  3. vrrp_script check_nginx {              
  4.         script "/usr/bin/killall -0 nginx"
  5.         interval 1 #每秒钟检查一次
  6.         weight 2 #每次priority增加2 如果状态正常的话
  7. }                                        
  8. vrrp_instance VI_1 {
  9.         interface eth1
  10.         state MASTER
  11.         virtual_router_id 51
  12.         priority 101 #Master为101,Slave为100
  13.         authentication {
  14.             auth_type PASS
  15.             auth_pass 123456
  16.         }
  17.         track_script {
  18.                 check_nginx
  19.         }
  20.         virtual_ipaddress {
  21.                 192.168.3.111 dev eth1
  22.         }
  23. }
  24.  
  25. Node2配置文件:
  26. [root@localhost ~]# cat /etc/keepalived/keepalived.conf
  27. vrrp_script check_nginx {
  28.         script "/usr/bin/killall -0 nginx"
  29.         interval 1
  30.         weight 2
  31. }
  32. vrrp_instance VI_1 {
  33.         interface eth1
  34.         state BACKUP
  35.         virtual_router_id 51
  36.         priority 100
  37.         authentication {
  38.             auth_type PASS
  39.             auth_pass 123456
  40.         }
  41.         track_script {
  42.                 check_nginx
  43.         }
  44.         virtual_ipaddress {
  45.                 192.168.3.111 dev eth1
  46.         }
  47. }
  1. Note:
  2. 停止NginxKeepalived本身,两台都会切换;
  3. 在负载较高的服务器上,如果没有对“服务”进行冗余而频繁切换IP是不严谨的,nopreempt可以防止来回抢占IP
  4. nopreempt需要stateBACKUP模式下才允许,并且给它们相同的route_id,两台间优先级较高的将优先取得VIP
  5.  
  6. /etc/sysctl.conf
  7. net.ipv4.ip_nonlocal_bind=1

yum Error: rpmdb open failed 的解决办法

  1. rm -f /var/lib/rpm/__db.*
  2. yum clean all
  3. rpm --rebuilddb
  4. yum makecache

nginx查看php-fpm状态信息

  1. #查看php-fpm状态的信息,修改php-fpm.conf
  2. pm.status_path = /php-status
  3.  
  4. #修改nginx.conf
  5. server {
  6.     listen       $IP:$Port;
  7.     server_name  _;
  8.  
  9. location ~ ^/php-status$ {
  10.                 stub_status on;
  11.                 access_log off;
  12.                 #allow all;
  13.                 allow $IP;
  14.                 deny all;
  15.                 include fastcgi_params;
  16.                 fastcgi_pass 127.0.0.1:9000;
  17.                 fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
  18.         }
  19. }
  20.  
  21. #查看方式 http://$IP/php-status
  22. #full list: http://$IP/php-status?full
  23.  
  24. #输出方式支持html、json、xml
  25. #http://$IP/php-status?html #默认
  26. ##http://$IP/php-status?full&html
  27.  
  28. #http://$IP/php-status?json #json
  29. ##http://$IP/php-status?full&json
  30.  
  31. #http://$IP/php-status?xml #xml
  32. ##http://$IP/php-status?full&xml
  33.  
  34.  
  35. #查看nginx状态
  36. server {
  37.     listen       $IP:$Port;
  38.     server_name  _;
  39.         location = /nginx-status {
  40.                 stub_status on;
  41.                 access_log off;
  42.                 allow $IP;
  43.                 deny all;
  44.         }
  45. }
  46. #查看方式 http://$IP/nginx-status