zoukankan      html  css  js  c++  java
  • Linux实战

    1. Linux基础与基本配置
      1. 常用指令

    cd /etc:进入目录,ll:显示目录详细列表,ls:显示目录所有文件和子目录,pwd:显示当前目录路径,date:修改日期时间,top:看CPU情况,mkdir:创建目录,vi index.html创建/修改文件,cat index.html查看文件,tail –n 10 index.html:查看文件最后10行,yum –y install php:安装php, yum –y remove php:卸载PHP,find / -name index.html:名字查找文件,whereis php。

    echo “” > filename

    /usr/local/nginx/sbin/nginx -s reload

    systemctl stop php-fpm.service

    /etc/init.d/php-fpm restart

    service firewalld stop //关闭Centos 7防火墙

              dstat -nt //查看网络

    netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk '{if ($1>20){print $2}}' 查服务器单IP并发

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 

    查服务器并发

    cat /proc/cpuinfo |grep "cores"|uniq     #查看CPU多少核

    cat /proc/cpuinfo |grep MHz|uniq      #查看CPU频率

    ps -ef | grep sersync2                  #查看进程

    tail -n 20 /var/log/php-fpm/www-error.log #查看PHP报错

    chmod -R  777 /trunk           #改权限

    chown root root /trunk

    cat /etc/redhat-release        #查看OS版本

    arch                           #查看OS多少位

    tar -zxvf nginx-1.8.0.tar.gz   #tar解压

    du -h --max-depth=1 /alidata/cache   #查看文件夹大小

    rpm -qa | grep -i mysql        #查看软件的版本

    ab -c 1000 -n 100 http://test65.suofeiya.com.cn/index.php

    ipconfig /flushdns               #刷新DNS

    find /www -name "*.log" | xargs greg "卡券插件命中结束"

    ps aux | grep rsync | grep -v grep | cut -c 9-15 | xargs kill -s 9                    杀死进程

    date -s 12:49:00

    如果YUM被锁住,可以使用rm -rf /var/run/yum.pid

    zip -r mydata.zip mydataunzip wwwroot.zip

      1. 大部分用VMWare安装,度娘一堆教程。
      2. 安装时候,把FTP也一起装上。
      3. VMWare IP地址配置成可用的网段。
      4. 一定要设置setenforce 0      #不设置的话,会有各种杯具。
        1. 当出现setenforce: SELinux is disabled

    vi /etc/selinux/config

    把SELINUX=disabled改成SELINUX=enforcing

      1. 如果需要不重启SELINUX生效的方法:

    /etc/init.d/network restart

      1. 如果是RedHat,配置YUM。
        1. 检查是否安装了YUM:

    rpm-qa|grep yum

      1. 删除yum包

    rpm -qa|grep yum|xargs rpm -e --nodeps

    再次确认:rpm–qa|grep yum

      1. 下载新的yum包。使用Centos6.5的yum包

    1) 查看版本号和系统类别:

    cat /etc/redhat-release

    arch

    2)根据上一步,找到对应的yum包,然后下载。我的服务器对应的为:

    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-69.el6.centos.noarch.rpm

    wgethttp://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

      1. 安装

    rpm -ivhyum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-3.2.29-69.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

    如果出错,证明

      1. 更换yum源,将原有源删除或备份到别的目下:

    cd /etc/yum.repos.d/

    wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo

    vi CentOS6-Base-163.repo

    编辑文件,把文件里面的$releasever全部替换为版本号:6(注意,不是6.5!)最后保存!

      1. 清除原有缓存,重建缓存,更新系统:

    clean all

    yum makecache

    yum update

    1. Nginx安装配置

    systemctl enable httpd  ####开启apache

      1. 安装

    cd /usr/src

    #下载lnmp

    wget http://nginx.org/download/nginx-1.8.0.tar.gz

    chmod +x nginx-1.8.0.tar.gz

    tar -zxvf nginx-1.8.0.tar.gz

    #安装必备工具

    rpm -qa | grep -i nginx

    yum  -y install zlib-devel pcre-devel openssl-devel

    #安装nginx

    cd nginx-1.8.0

    ./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl --with-pcre --with-http_stub_status_module

    make

    make install

    cd /usr/local/nginx/                  #安装成功

    sbin/nginx -c /usr/local/nginx/conf/nginx.conf  #设置配置文件路径

    /usr/local/nginx/sbin/nginx -s reload            #启动nginx

    netstat -ntlp                     #看看nginx是否已经用上80

      1. 分发配置

    vi nginx.conf

    #user  nobody;

    worker_processes  4;

    #error_log  logs/error.log;

    #error_log  logs/error.log  notice;

    #error_log  logs/error.log  info;

    #pid        logs/nginx.pid;

    events {

        worker_connections  10240;

    }

    http {

    include       mime.types;

        default_type  application/octet-stream;

        #access_log  logs/access.log  main;

    sendfile        on;

        #tcp_nopush     on;

        #keepalive_timeout  0;

        keepalive_timeout  65;

    gzip  on;

    gzip_disable     "MSIE [1-6].";

    gzip_proxied any;

        gzip_comp_level 5;

        gzip_buffers 16 8k;

    gzip_min_length    1k;

    gzip_vary on;

    gzip_types text/plain text/css image/gif image/jpeg image/png application/json application/x-javascript text/xml application

    /xml application/xml+rss text/javascript;

    fastcgi_connect_timeout 300s;

    fastcgi_send_timeout 300s;

    fastcgi_read_timeout 300s;

    fastcgi_buffer_size 128k;

    fastcgi_buffers 8 128k;#8 128

    fastcgi_busy_buffers_size 256k;

    fastcgi_temp_file_write_size 256k;

    fastcgi_intercept_errors on;

    client_max_body_size 20M;

    upstream backend {

                      ip_hash;

    server 10.10.10.210:80;

    server 10.10.10.211:80;

            }

    include conf.d/*.conf;

    }

               编辑conf.d/ wx.suofeiya.com.cn.conf;

    server {

    listen       80;

            server_name  wx.suofeiya.com.cn;

    location / {

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_buffering off;

                proxy_pass http://backend;

            }

    }

    编辑conf.d/tb.suofeiya.com.cn.conf;

    upstream tb_site {

    server 192.168.2.123;

            }

    server {

    listen       80;

            server_name  tb.suofeiya.com.cn;

    location / {

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_buffering off;

                proxy_pass http://tb_site;

            }

    }

      1. 节点配置

    server {

    listen       80;

            server_name  wx.suofeiya.com.cn;

    location / {

    root   /www/wechat/app/www;

    index  index.php index.html index.htm;

            }

            error_page   500 502 503 504  /50x.html;

    location = /50x.html {

    root   html;

            }

    location ~ .php$ {

                #root           html;

                fastcgi_pass   127.0.0.1:9000;

                fastcgi_index  index.php;

                fastcgi_param  SCRIPT_FILENAME  /www/wechat/app/www$fastcgi_script_name;

    include        fastcgi_params;

            }

    }

      1. 启动

    # /usr/local/nginx/sbin/nginx -s reload

    # vi /etc/rc.local

    /usr/local/nginx/sbin/nginx

      1. 防火墙

    yum install -y iptables

    yum install iptables-services

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

    -A INPUT -s 10.10.10.0/24 -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

    要封停一个IP,使用下面这条命令:

        iptables -I INPUT -s ***.***.***.*** -j DROP

    要解封一个IP,使用下面这条命令:

    iptables -D INPUT -s ***.***.***.*** -j DROP

      1. 伪静态

    location / {

    root   /www;

    index  index.php index.html index.htm;

    rewrite "^/index.html" /index.php last;

    rewrite "^/search.html$"    /search.php last;

    rewrite "^/channel_space.html$"    /channel_space.php last;

    rewrite "^/channel_style.html$"    /channel_style.php last;

    rewrite "^/channel_action.html$"   /channel_action.php last;

    rewrite "^/wiki_channel.html$"     /wiki_channel.php last;

    rewrite "^/dealer.html$"          /dealer.php last;

    rewrite "^/bespoke.html$"         /bespoke.php last;

    rewrite "^/budget.html$"           /budget.php last;

    rewrite "^/baoming.html$"         /baoming.php last;

      1. 缓存
        1. 缓存插件安装

    当安装完nginx,缺忘记安装Ngx_cache怎么办呢?

    Cd /usr/src

    wgethttp://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

    tar–zxvfngx_cache_purge-2.3.tar.gz

    chmod–R 777 ngx_cache_purge-2.3

    cdnginx-1.8.0

    ./configure --add-module=../ngx_cache_purge-2.3 --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl --with-pcre --with-http_stub_status_module

    Make

    备份/usr/local/nginx/sbin/nginx

    把objs/nginx复制过去

    重启nginx

    /usr/local/nginx/sbin/nginx –V

      1. 缓存配置

    use epoll;

    worker_connections  30720;

    gzip_disable     "MSIE [1-6].";

    gzip_proxied any;

            gzip_comp_level 5;

            gzip_buffers 16 8k;

    gzip_min_length    1k;

    gzip_vary on;

    gzip_types text/plain text/css image/gif image/jpeg image/png application/json application/x-javascript text/xml application

    /xml application/xml+rss text/javascript;

            proxy_connect_timeout 5;

            proxy_read_timeout 60;

            proxy_send_timeout 5;

    proxy_buffer_size 16k;

            proxy_buffers 4 64k;

    proxy_busy_buffers_size 128k;

    proxy_temp_file_write_size 128k;

            proxy_temp_path /usr/local/cache/img_temp;

            proxy_cache_path /dev/shm/tmp levels=1:2 keys_zone=pic_cache:500m inactive=1d max_size=10g;

    include conf.d/*.conf;

    server {

    listen       8082;

            server_name  localhost;

            access_log  logs/pic.log;

    location / {

                    proxy_cache pic_cache;

                    proxy_cache_valid 200 304 2h;

                    proxy_cache_key $host$uri$is_args$args;

    proxy_set_header Host  $host;

    proxy_set_header X-Forwarded-For  $remote_addr;

                    proxy_pass http://127.0.0.1:8083;

    expires      1d;

            }

    location ~ /purge(/.*) {

    allow       127.0.0.1;

    deny    all;

                    proxy_cache_purge    pic_cache   $host$1$is_args$args;

            }

            error_page   500 502 503 504  /50x.html;

        }

    server {

    listen 8083;

    server_name localhost;

    root /usr/local/cache/img_s;

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$ {

    expires      1d;

    access_log logs/8083pic.log;

            }

    }

    #mkdir /dev/shm/tmp

    #chmod 1777 /dev/shm/tmp

    #mount --bind /dev/shm/tmp /alidata/cache/img_cache

    1. 安装PHP
      1. 增加额外资源库

    默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。

    # yum install yum-priorities -y

    # rpm -Uvh http://baseurl.opencas.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm

    # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    yum -y remove mysql-libs*

    rpm -qa | grep –i php

      1. 安装 PHP-FPM

    # yum --enablerepo=remi install php php-fpm

    #chkconfig --level 345 php-fpm on       #开机自动启动

      1. 安装PHP插件

    # yum --enablerepo=remi install php-gd php-mysql php-mbstring php-xml php-mcrypt  php-redis php-soap

      1. 启动PHP

    # /etc/init.d/php-fpm restart 

    #systemctl stop php-fpm.service

    # setsebool httpd_can_network_connect 1

    # vi /etc/rc.local #把/etc/init.d/php-fpm restart加进去

    修改PHP.INI的配置,可以参考图库项目的配置

    1. Redis
      1. 安装

    wget http://download.redis.io/releases/redis-3.0.4.tar.gz

    ls

    tar -zxvf redis-3.0.4.tar.gz

    cd redis-3.0.4

    ls

    make

    make install

    redis-server &#开启

           #关连接,重新登录服务器

    redis-cli

    set xx 123

    get xx

      1. 配置

    防火墙:-A INPUT -s 10.10.10.0/24 -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

    开机启动

    # Vi /etc/rc.local

    redis-server&

    1. Rsync服务端
      1. rsync 启动

    #vi /etc/xinetd.d/rsync

      把原来的YES改成NO

    service rsync

    {

    disable = no

            socket_type     = stream

    wait            = no

    user            = root

    server          = /usr/bin/rsync

            server_args     = --daemon

            log_on_failure  += USERID

    }

    随系统启动RSYNC

         #chkconfig rsync on

      1. Rsync配置

    # vi /etc/rsyncd.conf

    # Minimal configuration file for rsync daemon

    # See rsync(1) and rsyncd.conf(5) man pages for help

    # This line is required by the /etc/init.d/rsyncd script

    pid file = /var/run/rsyncd.pid

    port = 873

    address = 10.10.10.211 #本机IP

    uid = root

    gid = root

    use chroot = yes

    read only = yes

    #limit access to private LANs

    hosts allow=192.168.5.0/255.255.255.0(如果是指定几台机器,用逗号分开,或者*)

    hosts deny=*

    max connections = 50

    #motd file = /etc/rsyncd/rsyncd.motd

    #This will give you a separate log file #log file = /var/log/rsync.log

    #This will log every file transferred - up to 85,000+ per user, per sync

    #transfer logging = yes

    log format = %t %a %m %f %b

    syslog facility = local3

    timeout = 300

    [website]

    path = /usr/website/

    list=yes

    read only = no

    ignore errors

    auth users = nobody

    secrets file = /etc/rsync/rsyncd.secrets

    comment = linuxsir home

    #exclude =   beinan/  samba/

      1. 密码文件

    # vi /etc/rsync/rsyncd.secrets

    nobody:002285kss

      1. 启动xinetd

    # service xinetd restart

    启动rsync

    # sudo /usr/bin/rsync --daemon --config=/etc/rsync/rsyncd.conf

    建立快捷方式:

    # ln -s /etc/rsync/rsyncd.conf /etc/rsyncd.conf

    # service xinetd reload

    #vi /etc/rc.local

    /usr/bin/rsync –daemon --config=/etc/rsync/rsyncd.conf

    #netstat -a | grep rsync

    tcp   0      0 0.0.0.0:873     0.0.0.0:*    LISTEN

    1. Rsync客户端
      1. 安装

    # mkdir /etc/rsync

    # vi /etc/rsync/rsyncd.secrets

    002285kss

    # chown root.root rsyncd.secrets

    # chmod 700 rsyncd.secrets

    # /usr/bin/rsync -artuz --progress --delete nobody@10.10.10.210::website /usr/local/nginx/html --password-file=/etc/rsync/rsyncd.secrets

    # vi /etc/rsync/time.sh

    #!/bin/bash

    /usr/bin/rsync -artuz --progress --delete nobody@10.10.10.210::website /www --password-file=/etc/rsync/rsyncd.secrets

    # chmod +x /etc/rsync/time.sh

    # crontab -e

    3 * * * * /etc/rsync/time.sh

      1. 测试

    # rsync --list-only nobody@10.10.10.210::

    下载文件:

    # /usr/bin/rsync -artuz --progress --delete nobody@10.10.10.210::website /usr/local/nginx/html --password-file=/etc/rsync/rsyncd.secrets

    上传文件:

    # /usr/bin/rsync -artuz --progress --exclude='.svn/'--password-file=/usr/local/sersync/rsyncd.passwd  /alidata/www/www.suofeiya.com.cn/ nobody@120.26.85.64::website

    1. Sersync
      1. 安装

    sersync2.5_64bit_binary_stable_final.tar.gz,解压到/usr/local/sersync/

    # cd/usr/local/sersync/

    建立密码文件/usr/local/sersync/rsyncd.passwd 写入与服务器A上rsync配置的用户一样的密码。

    # vi confxml.xml

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <head version="2.5">

    <host hostip="localhost" port="8008"></host>

    <debug start="false"/>

    <fileSystem xfs="false"/>

    <filter start="false">  /*过滤不需要同步的文件或目录*/

    <exclude expression="(.*).svn"></exclude>

    <exclude expression="(.*).gz"></exclude>

    <exclude expression="^info/*"></exclude>

    <exclude expression="^static/*"></exclude>

    </filter>

    <inotify>

    <delete start="true"/>

    <createFolder start="true"/>

    <createFile start="false"/>

    <closeWrite start="true"/>

    <moveFrom start="true"/>

    <moveTo start="true"/>

    <attrib start="false"/>

    <modify start="false"/>

    </inotify>

    <sersync>

    <localpath watch="/usr/website/">/*本地监视目录*/

    <remote ip="192.168.5.168" name="website"/>/*远程IP*/

    <!--<remote ip="192.168.8.39" name="tongbu"/>-->

    <!--<remote ip="192.168.8.40" name="tongbu"/>-->

    </localpath>

    <rsync>

    <commonParams params="-artuz"/>/*rsync命令*/

    <auth start="true" users="nobody" passwordfile="/usr/task/shell/rsyncd.passwd"/>/*密码文件*/

    <userDefinedPort start="false" port="874"/><!-- port=874 -->

    <timeout start="false" time="100"/><!-- timeout=100 -->

    <ssh start="false"/>

    </rsync>

    <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

    <crontab start="false" schedule="600"><!--600mins-->

    <crontabfilter start="false">

    <exclude expression="*.php"></exclude>

    <exclude expression="info/*"></exclude>

    </crontabfilter>

    </crontab>

    <plugin start="false" name="command"/>

    </sersync>

    <plugin name="command">

    <param prefix="/bin/sh" suffix="" ignoreError="true"/><!--prefix /opt/tongbu/mmm.sh suffix-->

    <filter start="false">

    <include expression="(.*).php"/>

    <include expression="(.*).sh"/>

    </filter>

    </plugin>

    <plugin name="socket">

    <localpath watch="/opt/tongbu">

    <deshost ip="192.168.138.20" port="8009"/>

    </localpath>

    </plugin>

    <plugin name="refreshCDN">

    <localpath watch="/data0/htdocs/cms.xoyo.com/site/">

    <cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>

    <sendurl base="http://pic.xoyo.com/cms"/>

    <regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>

    </localpath>

    </plugin>

    </head>

      1. 启动sersync

    # /usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

    查看进程

    # psaux | grep sersync2

    杀死进程

    # kill -9 11374

    查看进程状态

    # ps aux |grep 'sersync2'

      1. 开机启动

    # vi /etc/rc.local

    /usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

      1. 监视

    # vi /var/script/check_sersync.sh

    #!/bin/bash

    #Purpose: Check sersync whether it is alive

    #Author: Carl Zhang

    SERSYNC="/usr/local/sersync/sersync2"

    CONF_FILE="/usr/local/sersync/confxml.xml"

    STATUS=$(ps aux |grep 'sersync2'|grep -v 'grep'|wc -l)

    if [ $STATUS -eq 0 ];

    then

            $SERSYNC -d -r -o $CONF_FILE &

    else

    exit 0;

    fi

    # crontab -e

    */5 * * * * /var/script/check_sersync.sh > /dev/null 2>&1

    1. Mysql

    http://blog.csdn.net/liumm0000/article/details/18841197

      1. 安装

    wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

    ls

    tar zxvf mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

    cp mysql-5.6.28-linux-glibc2.5-x86_64 /usr/local/mysql -r

    cd /usr/local/mysql/

    ls

    ll

    ########groupadd mysql     //创建mysql组

    ########useradd -g mysql mysql //创建mysql用户添加到mysql组

    chown -R mysql:mysql ./

    ls

    ll

    ./scripts/mysql_install_db --user=mysql

    chown -R root:root ./

    chown -R mysql:mysql data

    cp support-files/mysql.server /etc/init.d/mysql

    service mysql start

    mysql

    ps -ef|grep mysql

    ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

      1. 配置

    # vi /etc/my.cnf

    [client]

    port            = 3306

    socket          = /var/lib/mysql/mysql.sock

    [mysqld]

    port            = 3306

    socket          = /var/lib/mysql/mysql.sock

    skip-external-locking

    key_buffer_size = 500M

    max_allowed_packet = 32M

    table_open_cache = 512

    sort_buffer_size = 4M

    net_buffer_length = 8K

    read_buffer_size = 4M

    read_rnd_buffer_size = 512K

    myisam_sort_buffer_size = 64M

    query_cache_size = 1024M

    query_cache_type= 1

    tmp_table_size = 256M

    max_connections = 1000

    max_connect_errors = 10000000

    wait_timeout = 10

    max_binlog_size=1G

    log-bin=mysql-bin

    binlog_format=mixed

    server-id       = 1

    #skip-grant-tables

    [mysqld_safe]

    log-error=/var/log/mysqld.log

    pid-file=/var/run/mysqld/mysqld.pid

      1. 密码修改,防火墙,开机运行

    http://blog.csdn.net/liumm0000/article/details/18841197

    SET GLOBAL general_log = 'ON';

    SET GLOBAL slow_query_log = 'ON';

    set global expire_logs_days = 3;

    show global variables;

    -- 打开sql 执行记录功能

    set global log_output='TABLE'; -- 输出到表

    set global log=ON; -- 打开所有命令

    执行记录功能general_log, 所有语句: 成功和未成功的.

    set global log_slow_queries=ON; -- 打开慢查询 sql 记录

    slow_log, 执行成功的: 慢查询语句和未使用索引的语句

    set global long_query_time=0.1; -- 慢查询时间限制(秒)

    set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql 语句

    -- 查询sql 执行记录

    select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未

    使用索引的语句

    select * from mysql.general_log order by 1; -- 所有语句:成功和未成功的.-- 关闭sql 执行记录

      1. 主从

    vi /etc/my.cnf

    [mysqld]的下面加入下面代码:

    log-bin=mysql-bin

    server-id=1

        innodb_flush_log_at_trx_commit=1

        sync_binlog=1

        #binlog-do-db=wordpress

    #binlog_ignore_db=mysql

    $ service mysqld restart

    mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'10.10.10.213' IDENTIFIED BY '密码';

    #防止数据库写入

    //mysql>FLUSH TABLES WITH READ LOCK;

    #解锁数据表。

    //mysql>UNLOCK TABLES;

    SHOW MASTER STATUS;

    请记下显示的信息,配置从服务器会用到。

    +------------------+----------+--------------+------------------+-------------------+

    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

    +------------------+----------+--------------+------------------+-------------------+

    | mysql-bin.000001 |      329 | test         | mysql            |                   |

    +------------------+----------+--------------+------------------+-------------------+

    vi /etc/my.cnf

    server-id=2

    slave-skip-errors=all

    service mysqld restart

    mysql>STOP SLAVE;

    mysql>

    CHANGE MASTER TO MASTER_HOST='10.10.10.212', MASTER_USER='root', MASTER_PASSWORD='Sogal5911*', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=329, MASTER_CONNECT_RETRY=10;

    mysql>START SLAVE;

    show slave status;

      1. 日常维护

    --------------备份

    /usr/local/mysql/bin/mysqldump -u root -h 127.0.0.1 -p test>/usr/src/bak.sql

    /usr/local/mysql/bin/mysqldump -uroot-p suofeiya>/alidata/bak.sql (0a4a25d2eb)

    -------------还原

    mysql -u root -p sfybbs2015</usr/src/151106091551.sql

    mysql -u root -p suofeiya</usr/src/suofeiya.sql

    检查锁表 : show processlist

    数据库引擎:show engines;

    打开my.cnf,在[mysqld]最后添加为上default-storage-engine=InnoDB

    show variables;

                   set global slow_query_log=1;

                   set global long_query_time=4;

    http://www.cnblogs.com/Richardzhu/p/3230221.html

    1. 硬盘挂载

    fdisk -l 看看硬盘情况

    fdisk /dev/vxdb ---------把硬盘分区

    Commond n----------加分区

    mkfs.ext4 /dev/xvdb1 ---格式化xvdb1 是ext4文件类型

    mount -t ext4  /dev/xvdb1 /alidata    把xvdb1挂上去/alidata

    df -lh    #查看分区挂载情况

    mount -t nfs 192.168.55.233:/opt/nfs /nfs

           启动自动挂载 /etc/fstab

    1. SVN

    svn checkout https://192.168.2.218:2009/svn/Sogal_EPortal/trunk/www /trunk

    svn update

    1. PHP 扩展单独安装(redis)

    Mkdir /usr/local/php/ext

    Cd /usr/local/php/ext

    Wget  https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

    ls

    ll phpredis/

    cd phpredis/

    /alidata/server/php/bin/phpize

    ./configure --with-php-config=/usr/local/php/bin/php-config

    make && make install

    vim /usr/local/php/lib/php.ini

    extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/redis.so

    1. Centos 7安装PHP

    systemctl enable httpd  ####开启apache

    yum -y remove mysql-libs*

    yum -y install epel-release

    #yum -y install php php-fpm

    yum -y install php-gd php-mysql php-mbstring php-xml php-mcrypt  php-redis php-soap

    #/usr/sbin/php-fpm&

    查看php-fpm

    ps aux | grep php-fpm

    php-fpm 关闭:

    kill -INT `cat /var/run/php-fpm/php-fpm.pid`

    php-fpm 重启:

    kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`

    修改/etc/php-fpm.conf 的daemonize = yes,让php-fpm可以后台执行

    CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载

    # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    # rpm -ivh mysql-community-release-el7-5.noarch.rpm

    # yum install mysql-community-server

    成功安装之后重启mysql服务

    # service mysqld restart

    初次安装mysql是root账户是没有密码的

    设置密码的方法

    # mysql -uroot

    mysql> set password for ‘root’@‘localhost’ = password('mypasswd');

    mysql> exit

    搞定!

    1. 远程监控

    nc -w2 10.10.10.210 9000 && echo ok ||echo no

    1. 如何把一个shell脚本添加为系统服务,并跟随系统启动

    可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本。

    系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。

    脚本文件的内容也很简单,类似于这个样子(例如起个名字叫做“hahad”):

    . /etc/init.d/functions

    start() {

            echo "Starting my process "

            cd /opt

            ./haha.sh

    }

    stop() {

            killall haha.sh

            echo "Stoped"

    }

    写了脚本文件之后事情还没有完,继续完成以下几个步骤:

    chmod +x hahad                    #增加执行权限

    chkconfig --add hahad             #把hahad添加到系统服务列表

    chkconfig hahad on                 #设定hahad的开关(on/off)

    chkconfig --list hahad               #就可以看到已经注册了hahad的服务

    date +"%Y-%m-%d %H:%M:%S" #查看时间

  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/smallidea/p/11906238.html
Copyright © 2011-2022 走看看