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" #查看时间

原文地址:https://www.cnblogs.com/smallidea/p/11906238.html