标签: Linux

  • 使用 acme.sh 部署 Let’s Encrypt 泛域名通用证书

    Let’s Encrypt两种域名验证方式

    1. DNS验证:配置一个随机的 TXT 记录来验证
    2. 文件验证:配置一个随机的 URL 地址来验证

    泛域名通用证书只能使用DNS TXT记录验证,acme.sh支持多种dnsapi我使用的是阿里云DNS,可以根据你的域名服务商进行选择支持列表。

    安装 acme.sh

    curl  https://get.acme.sh | sh -s email=my@example.com

    my@example.com 改为你自己的邮箱地址用于接收通知。

    acme.sh自动为你创建定时任务, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。

    配置阿里云AK

    设置临时系统变量

    #你的阿里云AccessKeyId
    export Ali_Key="AccessKeyId"
    #你的AccessKeySecret
    export Ali_Secret="AccessKeySecret"

    颁发证书

    可以进行单域名、多域名、泛域名进行颁发。

    acme.sh --issue --dns dns_ali -d chunblog.com -d *.chunblog.com

    这里会使用dnsapi自动添加TXT记录,进行域名的 DNS 验证,中间会等待 2分钟左右来验证正确性,验证完成后记录会自动删除。

    出现Cert success表示成功 后面会有证书存放路径。

    复制/安装证书

    Nginx

    acme.sh --dns dns_ali -d chunblog.com -d *.chunblog.com\
     --install-cert\
     --key-file /www/cert/chunblog.com/key.pem\
     --fullchain-file /www/cert/chunblog.com/cert.pem\
     --reloadcmd "/etc/init.d/nginx reload"

    参数说明

    –install-cert    将颁发的证书安装到 apache/nginx 或任何其他服务器。

    –key-file    发行/续订后将密钥文件复制到的路径。

    –fullchain-file    发布/续订后将全链证书文件复制到的路径。

    –reloadcmd    发布/更新后重新加载服务器后要执行的命令

    然后修改Nginx配置文件使用 /www/cert/chunblog.com/key.pem、/www/cert/chunblog.com/cert.pem即可

    server
    {
        listen 80;
        listen 443 ssl http2;
        server_name chunblog.com www.chunblog.com;
        index index.php index.html index.htm;
        root /www/chunblog.com;
    
        ssl_certificate    /www/server/panel/vhost/cert/chunblog.com/fullchain.pem;
        ssl_certificate_key    /www/server/panel/vhost/cert/chunblog.com/privkey.pem;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
    
        #禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
        {
            return 404;
        }
        
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
            error_log /dev/null;
            access_log /dev/null;
        }
        
        location ~ .*\.(js|css)?$
        {
            expires      12h;
            error_log /dev/null;
            access_log /dev/null; 
        }
        access_log  /www/wwwlogs/chunblog.com.log;
        error_log  /www/wwwlogs/chunblog.com.error.log;
    }

    安装acme.sh时已自动创建定时任务,证书到期前会自动更新证书并重载Nginx配置使证书生效。

  • Linux mysql数据库每天0点自动备份

    通过定时任务实现每天0点整备份数据,并保存最近30天的备份,过期自动删除。

    第一步新建 my_dump.cnf 配置文件

    my_dump.cnf配置文件用于储存数据库账号密码,在此以root为例,内容如下

    [mysqldump]
    #备份用户
    user=root
    #备份用户密码
    password=root

    第二部新建脚本文件

    内容如下:

    #!/bin/bash
    DB_NAME='demo1' #要备份的数据库
    BACKUP_DIR='/data/backup/mysqldata/' # 备份保存目录
    CURRENT_TIME=`date +%Y%m%d%H%M`
    FILEPATH=$BACKUP_DIR$DB_NAME'_'$CURRENT_TIME'.sql.gz'
    echo '开始导出数据库...'
    #defaults-extra-file=/root/my_dump.cnf 第一步的配置文件路径
    mysqldump --defaults-extra-file=/root/my_dump.cnf $DB_NAME | gzip > $FILEPATH
    #删除30天前的配置文件
    find ${BACKUP_DIR} -mtime +30 -name "${DB_NAME}_*.sql.gz" -exec rm -f {} \;
    echo '导出成功,文件名为: '$FILEPATH

    第三步添加定时任务

    执行命令:crontab -e

    写入以下内容:

    0 0 * * *       /data/crontab/database_backup.sh #每天0点0分备份数据库

    至此数据库自动备份已配置完成!

    注意事项

    确认cron任务是启动状态,以Centos7 为例 输入 systemctl status crond 显示绿色状态

    输入crontab -l  确认你输入的内容已保存

  • Linux crontab实现秒级定时任务

    Linux crontab 定时任务最少到每分钟执行一次,一些需要频繁运行启动的应用场景无法满足。

    Linux crontab:

    *    *    *    *    *
    -    -    -    -    -
    |    |    |    |    |
    |    |    |    |    +----- day of week (0 - 7) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    |    |    |    +---------- month (1 - 12) OR jan,feb,mar,apr ...
    |    |    +--------------- day of month (1 - 31)
    |    +-------------------- hour (0 - 23)
    +------------------------- minute (0 - 59)

    crontab能到分钟级,我们可以在sh文件里写一个循环,然后每循环一次间隔多少秒执行下次循环。

    先不说了看代码

    #!/bin/sh
    step=2 #循环间隔的秒数
    #(i+step) 是每次循环i值+step 也就是每次循环+2 i到60停止循环
    for (( i = 0; i < 60; i=(i+step) )); do   
            /www/server/php/56/bin/php /www/wwwroot/crontab.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_1.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_2.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_3.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_4.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_5.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_6.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_7.php
        sleep $step
    done
    exit 0

    我在项目里使用这种方式定时任务稳定运行了有半年了,会有一点点的时间误差 因为中间PHP脚本运行需要耗时,但是这些误差可以忽略不计。

    crontab添加定时任务的时候需要根据脚本的几个数值做相应的时间调整

    比如我上面的间隔时间是2秒,每次循环i都会加2,当i到60的时候就会停止,crontab定时任务如下

    执行crontab -e 添加如下内容 每分钟运行一次

    */1 * * * * /data/apps/crontab/php_api_clear.sh

    比如你的任务需要5秒运行一次 间隔时间(step =5)循环 i 到180 停止 那么定时任务应设为每3分钟执行一次,

    脚本内容如下:

    #!/bin/sh
    step=5 #间隔的秒数
    for (( i = 0; i < 180; i=(i+step) )); do
            /www/server/php/56/bin/php /www/wwwroot/crontab.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_1.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_2.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_3.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_4.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_5.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_6.php
    	/www/server/php/56/bin/php /www/wwwroot/crontab_7.php
        sleep $step
    done
    exit 0

     

  • Centos7.4 编译安装Mysql 5.7.21 配置开机启动

    Centos7.4 编译安装Mysql 5.7.21 配置开机启动

    Centos7.4 编译安装Mysql 5.7.21数据库,加添服务并 配置开机启动。使用yum安装的Mysql一般版本比较旧,如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了。

    一、下载Mysql boost

    下载源码
    https://dev.mysql.com/downloads/mysql/
    1.在Select Operating System:选择Source Code
    2.在下面的Select OS Version:选择Generic Linux (Architecture Independent);
    3.然后再下面的部分可以看到Compressed TAR Archive,单击后面的Download;
    4.在最下面的No thanks, just start my download.就是下载地址了

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz

    二、下载boost

    Mysql5.7 要求boost的版本1.59

    wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

    三、安装依赖

    yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git  ncurses-devel

    四、解压mysql源文件

    tar -zxvf mysql-5.7.21.tar.gz

    五、进入Mysql源文件目录,新建configure做为编译目录,并进入该目录

    cd mysql-5.7.21
    mkdir configure
    cd configure

    六、使用cmake进行生成编译环境

    -DCMAKE_INSTALL_PREFIX mysql安装目录
    -DMYSQL_DATADIR 数据库文件没有了
    -DSYSCONFDIR 配置文件目录(配置文件需要自己创建)
    -DMYSQL_UNIX_ADDR sock目录 春风这里使用/dev/shm(物理内存目录)
    -DWITH_BOOST= boost源码文件
    -DEXTRA_CHARSETS 安装所字符集 可以用all安装所有扩展字符集
    -DDEFAULT_CHARSET 使用utf8字符
    -DDEFAULT_COLLATION 校验字符

    cmake .. -DCMAKE_INSTALL_PREFIX=/data/apps/mysql \
    -DMYSQL_DATADIR=/data/apps/mysql/data \
    -DSYSCONFDIR=/data/apps/conf/mysql/etc \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DMYSQL_UNIX_ADDR=/dev/shm/mysql.sock \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_DEBUG=0 \
    -DMYSQL_MAINTAINER_MODE=1 \
    -DWITH_SSL:STRING=bundled \
    -DWITH_ZLIB:STRING=bundled \
    -DDOWNLOAD_BOOST=1 \
    -DWITH_BOOST=/root/boost_1_59_0.tar.gz
    

    如果编译出现错误,请先删除CMakeCache.txt后,再重新编译

    rm -rf CMakeCache.txt

    如果出现下面的提示就表示成功生成了编译环境

    -- Configuring done
    -- Generating done

    七、使用make进行编译

    make && make install

    八、初始化数据库

    1.新建www用户组

    groupadd www

    2.新建mysql用户

    useradd -g www mysql -s /sbin/nologin

    3.新建数据库文件夹、日志文件夹、配置文件文件夹,并更改用户为mysql

    mkdir -p /data/apps/mysql/data  /data/apps/log/mysql /data/apps/conf/mysql/etc
    chown -R mysql:www /data/apps/mysql /data/apps/log/mysql /data/apps/conf/mysql
    

    4.创建配置文件

    vim /data/apps/conf/mysql/etc/my.cnf

    加入以下内容

    [mysqld]
    port = 3306
    socket = /dev/shm/mysql.sock
    basedir = /data/apps/mysql
    datadir = /data/apps/mysql/data
    log_error = /data/apps/log/mysql/error.log

    5.配置MySQL环境变量

    vim /etc/profile
    export PATH=/data/apps/php/bin:/data/apps/php/sbin:$PATH
    #改为
    export PATH=/data/apps/php/bin:/data/apps/php/sbin:/data/apps/mysql/bin:$PATH
    #让变量生效
    source /etc/profile
    

    6.初始化数据库

    /data/apps/mysql/bin  --initialize --user=mysql

    九、复制启动脚本 配置开机启动

    1.复制启动脚本

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

    2.修改脚本

    vim /etc/init.d/mysql

    找到以下两行

    basedir=
    datadir=

    改为

    basedir=/data/apps/mysql/
    datadir=/data/apps/mysql/data

    3.给脚本可执行权限

    chmod +x /etc/init.d/mysql

    4.启动Mysql数据库

    systemctl start mysql

    5.设为开机启动

    systemctl enable mysql

    十、修改Mysql 初始密码

    1.获取初始密码

    cat /root/.mysql_secret
    !n1,lI1og4Sy
    

    2.使用初始密码登陆Mysql

    mysql -uroot -p

    3.修改root密码

    mysql> alter user 'root'@'localhost' identified by '密码';

    4.重启Mysql

    systemctl restart mysql

    Mysql启动、停止、重启命令

    #启动
    systemctl start mysql
    #停止
    systemctl stop mysql
    #重启
    systemctl restart mysql
    
  • Centos Linux 创建 删除SWAP虚拟内存 交换分区

    Centos Linux 创建 删除SWAP虚拟内存 交换分区

    SWAP分区就是Linux下的虚拟内存分区,它的作用是在物理内存使用完之后将磁盘空间SWAP分区虚拟成内存来使用,如果服务器内存比较小可以创建SWAP分区解决服务器繁忙时段资源耗尽的问题。

    需要注意的是虽然这个SWAP分区能够作为“虚拟”的内存,但它的速度比物理内存可是慢多了,所以如果你的服务器比较繁忙,物理内存持续属于耗尽的情况,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存,SWAP分区只是临时的解决办法。

    添加SWAP虚拟内存交换分区

    查看是否有SWAP:

    free –h
    Swap: 0 0 0 表示系统没Swap分区
    

    创建一个2G的交换分区:

    dd  if=/dev/zero  of=/data/cfswap  bs=1024  count=2097152

    执行完毕 使用 mkswap 命令来设置交换分区:

    mkswap  /data/cfswap

    使用swapon启用交换分区:

    swapon /data/cfswap

    使用vim /etc/fstab 编辑fstab文件尾部添加以下代码 设置开机自动挂载

    /data/cfswap   swap  swap  defaults  0  0

    删除添加SWAP虚拟内存交换分区

    首先禁用正在使用的虚拟内存交换分区

    swapoff /data/cfswap

    编辑fstab文件

    vim /etc/fstab

    删除我们之前添加的内容

    /data/cfswap   swap  swap  defaults  0  0

    删除文件

    rm /data/cfswap
  • Centos7.4 编译安装PHP 7.24 并配置开机启动

    Centos7.4 编译安装PHP 7.24 并配置开机启动

    网络资料显示PHP7性能是PHP5的三倍(wordpress 而言),而且代码向下兼容,春风也把PHP5.6更换成了PHP7.2,性能提升明显,而且感觉更节省内存。

    PHP5 PHP7 性能对比图
    PHP7性能多方评测结果图片,来源于网络

    编译安装PHP 7.24
    系统环境:Centos 7.4

    安装依赖

    yum -y install gd-devel zlib-devel libjpeg-devel libpng-devel libiconv-devel freetype-devel libxml2 libxml2-devel openssl openssl-devel curl-devel libxslt-devel libmcrypt-devel mhash
    

    下载PHP7.24

    wget http://cn2.php.net/distributions/php-7.2.4.tar.gz
    

    解压后进入PHP7.24目录

    #解压
    tar -xzvf php-7.2.4.tar.gz
    #进入目录
    cd php-7.2.4
    

    新建用户 我这里使用Tengine的用户

    #新建www用户组
    groupadd www
    #新建Tengine用户
    useradd -g www tengine -s /sbin/nologin
    

    开始编译

    ./configure \
    --prefix=/data/apps/php \
    --with-config-file-path=/data/apps/conf/php/etc \
    --with-mysql-sock=/dev/shm/mysql.sock \
    --enable-fpm \
    --with-fpm-user=tengine  \
    --with-fpm-group=www \
    --enable-inline-optimization \
    --disable-debug \
    --disable-rpath \
    --enable-shared  \
    --enable-soap \
    --with-libxml-dir \
    --with-xmlrpc \
    --with-openssl \
    --with-mhash \
    --with-pcre-regex \
    --with-sqlite3 \
    --with-zlib \
    --enable-bcmath \
    --with-iconv \
    --with-bz2 \
    --enable-calendar \
    --with-curl \
    --with-cdb \
    --enable-dom \
    --enable-exif \
    --enable-fileinfo \
    --enable-filter \
    --with-pcre-dir \
    --enable-ftp \
    --with-gd \
    --with-openssl-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib-dir  \
    --with-freetype-dir \
    --enable-gd-jis-conv \
    --with-gettext \
    --with-gmp \
    --with-mhash \
    --enable-json \
    --enable-mbstring \
    --enable-mbregex \
    --enable-mbregex-backtrack \
    --with-libmbfl \
    --with-onig \
    --enable-pdo \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-zlib-dir \
    --with-pdo-sqlite \
    --with-readline \
    --enable-session \
    --enable-shmop \
    --enable-simplexml \
    --enable-sockets  \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-wddx \
    --with-libxml-dir \
    --with-xsl \
    --enable-zip \
    --enable-mysqlnd-compression-support \
    --with-pear \
    --enable-opcache
    

    安装

    make && make install
    

    更改PHP安装目录所属用户 复制配置文件

    #新建配置文件目录
    mkdir -p data/apps/conf/php/etc/php-fpm.d
    #复制配置文件
    cp -rf /data/apps/php/etc/* /data/apps/conf/php/etc
    cp /root/php-7.2.4/php.ini* /data/apps/php/etc/
    #到安装目录
    cd /data/apps/conf/php/etc
    #把php.ini-production复制为php.ini
    cp php.ini-production php.ini
    #把php-fpm.conf.default复制为php-fpm.conf
    cp php-fpm.conf.default  php-fpm.conf
    #把php-fpm.d/www.conf.default复制为php-fpm.d/www.conf
    cp php-fpm.d/www.conf.default php-fpm.d/www.conf
    #更改PHP安装目录所属用户
    chown -R tengine:www /data/apps/php /data/apps/conf/php
    

    配置php.ini

    # 字符集UTF-8
    default_charset = "UTF-8"
    # 设置PHP的扩展库路径,默认被注释了。
    extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
    #添加opcache扩展
    zend_extension=opcache.so
    # 设置PHP的时区
    date.timezone = PRC
    # 开启opcache,默认是0
    [opcache]
    opcache.enable=1
    

    配置php-fpm.d目录下www.conf

    ; 设置用户和用户组
    user = tengine
    group = www
    ; 下面是默认值,如果PHP Nginx在一台服务器不建议使用 我这里注释掉
    ; listen = 127.0.0.1:9000
    ; sock目录改为/dev/shm物理硬件内存 读写速度比硬盘快N倍
    listen = /dev/shm/php-fpm.sock
    

    保存配置检验配置是否正确

    /data/apps/php/sbin/php-fpm -t
    

    添加环境变量

    #编辑/etc/profile
    vim /etc/profile
    #在尾部加入
    export PATH=/data/apps/php/bin:/data/apps/php/sbin
    

    启动

    /data/apps/php/sbin/php-fpm
    

    让tengine或Nginx 支持PHP

    编辑nginx.conf更改为以下内容。

            #PHP模块
            location ~ \.php$ {
                fastcgi_pass   unix:/dev/shm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }

    创建开机启动脚本

    vim /etc/init.d/php-fpm
    

    写入以下内容

    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides:          php-fpm
    # Required-Start:    $remote_fs $network
    # Required-Stop:     $remote_fs $network
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts php-fpm
    # Description:       starts the PHP FastCGI Process Manager daemon
    ### END INIT INFO
    
    prefix=/data/apps/php
    exec_prefix=${prefix}
    
    php_fpm_BIN=${exec_prefix}/sbin/php-fpm
    php_fpm_CONF=${prefix}/etc/php-fpm.conf
    php_fpm_PID=${prefix}/var/run/php-fpm.pid
    
    
    php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
    
    
    wait_for_pid () {
        try=0
    
        while test $try -lt 35 ; do
    
            case "$1" in
                'created')
                if [ -f "$2" ] ; then
                    try=''
                    break
                fi
                ;;
    
                'removed')
                if [ ! -f "$2" ] ; then
                    try=''
                    break
                fi
                ;;
            esac
    
            echo -n .
            try=`expr $try + 1`
            sleep 1
    
        done
    
    }
    
    case "$1" in
        start)
            echo -n "Starting php-fpm "
    
            $php_fpm_BIN --daemonize $php_opts
    
            if [ "$?" != 0 ] ; then
                echo " failed"
                exit 1
            fi
    
            wait_for_pid created $php_fpm_PID
    
            if [ -n "$try" ] ; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
        ;;
    
        stop)
            echo -n "Gracefully shutting down php-fpm "
    
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
    
            kill -QUIT `cat $php_fpm_PID`
    
            wait_for_pid removed $php_fpm_PID
    
            if [ -n "$try" ] ; then
                echo " failed. Use force-quit"
                exit 1
            else
                echo " done"
            fi
        ;;
    
        status)
            if [ ! -r $php_fpm_PID ] ; then
                echo "php-fpm is stopped"
                exit 0
            fi
    
            PID=`cat $php_fpm_PID`
            if ps -p $PID | grep -q $PID; then
                echo "php-fpm (pid $PID) is running..."
            else
                echo "php-fpm dead but pid file exists"
            fi
        ;;
    
        force-quit)
            echo -n "Terminating php-fpm "
    
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
    
            kill -TERM `cat $php_fpm_PID`
    
            wait_for_pid removed $php_fpm_PID
    
            if [ -n "$try" ] ; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
        ;;
    
        restart)
            $0 stop
            $0 start
        ;;
    
        reload)
    
            echo -n "Reload service php-fpm "
    
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
    
            kill -USR2 `cat $php_fpm_PID`
    
            echo " done"
        ;;
    
        *)
            echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
            exit 1
        ;;
    
    esac
    

    把php-fpm加入服务 设置为启动

    # 给php-fpm可执行权限
    chmod +x /etc/init.d/php-fpm
    # php-fpm加入服务
    chkconfig --add php-fpm
    # php-fpm 设置为开机启动
    chkconfig php-fpm on
    # 查看是否开机启动 2:no 3:no 4:no级别下为启动
    chkconfig --list php-fpm
    php-fpm         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    

    重启、启动、停止php-fpm命令

    # 启动
    service php-fpm start
    # 关闭
    service php-fpm stop
    # 重启
    service php-fpm restart
    # 重载配置文件
    service php-fpm reload
    
  • Centos 7改变系统语言为中文

    Centos 7改变系统语言为中文

    最近阿里云在搞活动,春风入手了一台99元一年,配置是1核心 2G内存 1M宽带,安装的Centos 7.4默认的语言是英文,虽然说看英文没有太大的问题。但是就是想把这个系统语言改为中文,要怎么改呢?
    先是用locale命令,看看语言配置。

    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="zen_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    

    怎么把”en_US.UTF-8″改成”zh_CN.UTF-8″?赶紧用度娘搜了一下。

    1.临时解决方法

    使用LANG=“zh_CN.UTF-8”,这个命令来实现,不过在重新登录的时候又会变回英文。这个不是长久的方法。

    2.更改系统参数

    如果系统没有中文支持,可以通过网上下载安装中文语言包,使用命令:yum groupinstall Chinese-support

    在网上普遍说的是修改/etc/sysconfig/文件夹里面的i18n这个文件里面的参数,但是呢。我在Centos7同样的路径下面是没有看到有这个文件的。

    经过在网上查找资料发现,Centos 7已经不采用/etc/sysconfig/i18n这一个文件来做配置,而改为使用/etc/locale.conf这个来进行语言配置。

    使用vim命令编辑

    vim /etc/locale.conf

    进入以后只有简单的一句

    LANG="en_US.UTF-8" 这个配置,把"en_US.UTF-8"替换成"zh_CN.UTF-8" 保存退出即可。

    这样子就算是重启进入系统,系统也还是中文的配置界面。