Linux运维与登录意况

作者:ca88编程

3、nginx 启动 关闭

  1. nginx的运转(nginx.conf文件基本上位于nginx主目录中的conf目录中)

    1
    nginx -c nginx.conf
  2. nginx的截止(nginx.pid文件基本上位于nginx主目录中的logs目录中)

    1
    ps -ef | grep nginx

    可开采数个nginx进度,当中标有master的为主进程,别的为子进程, 甘休nginx首要正是对主进程举行功率信号调控.

    1. 从容停止

      1
      kill -QUIT `cat nginx.pid`
    2. 神速结束

      1
      kill -TERM `cat nginx.pid`

      or

      1
      kill -INT `cat nginx.pid`
    3. 强制截止

      1
      kill -9 `cat nginx.pid`
  3. nginx的坦荡重启
    首先要证实新的安插文件是或不是科学:

    1
    nginc -t -c nginx.conf

    打响后向主进度发送HUP复信号就可以: [/Shell]kill -HUP `cat nginx.pid`[/shell]

三、安装php

1.装置信赖

yum install libxml2-devel openssl-devel libcurl-devel 
                  gd-devel libpng-devel freetype-devel 
                  libjpeg-devel zlib-devel

化解yum不恐怕安装libiconv库

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install

除此以外,centos默许的yum源里没有libmcrypt-devel,这里运用Ali云的yum源安装。

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install libmcrypt-devel  mcrypt mhash

2.下载源码

wget -O php-5.6.19.tar.gz  http://cn2.php.net/get/php-5.6.19.tar.gz/from/this/mirror
tar -zxvf php-5.6.19.tar.gz
cd php-5.6.19

3.安插编写翻译

./configure 
--prefix=/usr/local/php 
--with-mysql=mysqlnd 
--with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd 
--enable-opcache 
--enable-fpm 
--with-iconv-dir=/usr/local/libiconv 
--with-freetype-dir 
--with-jpeg-dir 
--with-png-dir 
--with-zlib 
--with-libxml-dir=/usr 
--enable-xml 
--disable-rpath 
--enable-bcmath 
--enable-shmop 
--enable-sysvsem 
--enable-inline-optimization 
--with-curl 
--with-curlwrappers 
--enable-mbregex 
--with-mcrypt 
--with-gd 
--enable-gd-native-ttf 
--with-openssl 
--with-mhash 
--enable-pcntl 
--enable-sockets 
--with-xmlrpc 
--enable-zip 
--enable-soap

make && make install

那边极度表达下mysqlnd,mysqlnd是php官方自带的mysql驱动,那样设置php无需提前设置mysql了。像--with-mysql=/usr/local/mysql这么使用的是mysql官方自带的mysql驱动,供给提前安装mysql。

4.启动php

率先将php命令路线插手PATH中,修改/etc/profile文件,在文件末尾加上:

PATH=/usr/local/php/bin:$PATH
export PATH

闭馆文件,然后实践source /etc/profile让配置霎时生效
下一场复制源码目录中的php.ini-development到/usr/local/php/lib/php.ini

cp php.ini-development /usr/local/php/lib/php.ini

5.运转php-fpm并增多系统服务

PHP-FPM是三个PHP 法斯特CGI管理器,首要用于合作web服务器管理php文件。

php-fpm命令位于/usr/local/php/sbin目录下,运转脚本在源代码目录的sapi/fpm子目录下。复制php-fpm运转脚本到/etc/init.d/php-fpm,设置开机运营。
复制/usr/local/php/etc/php-fpm.conf.default到/usr/local/php/etc/php-fpm.conf

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod  x /etc/init.d/php-fpm
chkconfig  php-fpm  on

cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

#启动php-fpm
service php-fpm  start
#停止php-fpm
service  php-fpm  stop
#重启php-fpm
service  php-fpm  restart

/usr/local/apache2/bin/apachectl restart 重启

/etc/profile

此文件包含:

  1. 全局或局地情形变量。便于用户及其进程和应用访问它。
  2. PATH音信。包括可实行文件,库文件及一般文本文件的目录地点,便于用户快捷访问。
  3. 终端安装。使系统查出用户终端的相似天性。
  4. 锡林郭勒盟命令。包蕴文件创立格局或敏感区域的双签到提示。
  5. 日子消息或扬弃操作音讯。是一个文本文件,保存用户登入时就要产惹祸变的笔录或遗弃登录的新闻文件。

方法三:

直接运行export命令定义变量【只对眼下shell(BASH)有效(一时的)】

在shell的指令行下直接行使[export变量名=变量值]概念变量,该变量只在脚下的shell(BASH)或其子shell(BASH)下是可行的,shell关闭了,变量也就失效了,再张开新shell时就向来不这一个变量,须要选择的话还亟需再度定义。比如

1
export PATH=/usr/local/webserver/php/bin:$PATH

 


四、测试

为了让nginx能够管理php,须求修改nginx的配备文件(nginx.conf),将上边包车型地铁安顿:

#location ~ .php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

修改为:

location ~ .php$ {
      root           html;
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      include        fastcgi.conf;
}

在/usr/local/nginx/html目录下创办二个test.php文件,内容如下:

<?php
$con = mysqli_connect("127.0.0.1", "root", "123456");
if (!$con) {
      die("Could not connect:" . mysqli_error($con));
}

if (mysqli_query($con, 'create database zhou')) {
       echo 'Database created!';
} else {
      echo 'Database created error:' , mysqli_error($con);
}

mysqli_close($con);

开辟浏览器访问:127.0.0.1/test.php。
登入mysql,查看数据库zhou是或不是创制成功,假若创立成功申明LNMP情状搭建实现。

1、 使用 service 启动:service mysqld restart

linux运转流程

参考:

  1. 加载内核,首先读入/boot 目录下的基业文件。
  2. 早先伊始化进度/sbin/init,它的机能是开端化系统境遇。由于init是首先个运维的次序,它的长河编号(pid)便是1。别的具备进度都从它衍生,都以它的子进度。
  3. 明显运营等第。Linux预置三种运行等第(0-6)。
    一般的话,0是关机,1是单用户方式(也即是维护格局),6是重启。不相同级别对应分歧的开机运转程序,它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
    init进程首先读取文件 /etc/inittab,它是运营级其他安装文件。
    每一种运维品级在/etc目录上面,都有叁个对应的子目录/etc/rcN.d,N表示运转等级,钦点要加载的主次。
  4. 加载开机运维程序。/etc/rcN.d目录里列出的顺序,都设为链接文件,指向其余叁个目录 /etc/init.d,包蕴程序的职位
  5. 用户登入。
    1. 从/etc/passwd中找出输入的账号,并读取UID与GID(/etc/group存款和储蓄了对应组名的关系)
    2. 从/etc/shadow中找UID对应的口令
    3. 进入shell
  6. 进入login shell,并进行shell的配置:
    第一读入/etc/profile,那是对富有用户都使得的配置;
    然后依次搜索上边四个文件之一,读取三个就忽略任何的列,那是针对性当前用户的配备。
      ~/.bash_profile
      ~/.bash_login
      ~/.profile

2、php-fpm 启动 关闭

php-fpm 不再援救 php-fpm 补丁具备的 /usr/local/php/sbin/php-fpm (start|stop|reload)等一声令下,要求接纳非确定性信号调节:

master进度能够知道以下非确定性信号

  • SIGINT, SIGTERM 立时甘休
  • SIGQUIT 平滑终止
  • SIGUS大切诺基1 重新展开日志文件
  • SIGUS福睿斯2 平滑重载全部worker进度并再一次载入配置和二进制模块

示例:

  1. php-fpm 关闭:

    1
    kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`
  2. php-fpm 重启:

    1
    kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`

说不上配置文件不再动用的xml 格式,改为了INI,但是配置参数大致和原先同样,可参照xml格式的格式配置。

二、安装mysql

1.设置依赖

yum  install  make cmake gcc-c   bison-devel ncurses-devel

一些注重包只怕早已设置过了,能够用rpm -qa package-name询问是或不是曾经设置。

2.下载源码

wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.54.tar.gz
tar -zxvf mysql-5.5.49.tar.gz
cd mysql-5.5.49.tar.gz

3.创建mysql用户

useradd -M -s /sbin/nologin mysql

4.配备编写翻译

cmake . 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DMYSQL_DATADIR=/usr/local/mysql/data 
-DSYSCONFDIR=/etc 
-DWITH_MYISAM_STORAGE_ENGINE=1 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_MEMORY_STORAGE_ENGINE=1 
-DWITH_READLINE=1 
-DENABLE_LOCAL_INFILE=1 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DEXTRA_CHARSETS=all 
-DWITH_PARTITION_STORAGE_ENGINE=1 
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock 
-DMYSQL_TCP_PORT=3306 
-DMYSQL_USER=mysql

make && make install 

5.配置mysql
修改/usr/local/mysql权限

chown -R mysql:mysql /usr/local/mysql

复制配置文件,复制前注意查看/etc目录下是还是不是有my.cnf文件,假使有,先将其备份为其它文件名

cp /etc/my.cnf /etc/my.cnf.backup
cd /usr/local/mysql
cp support-files/my-small.cnf  /etc/my.cnf

试行初阶化配置脚本,创立系统自带的数据库和表

chmod  x scripts/mysql_install_db
scripts/mysql_install_db 
--basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data 
--user=mysql

6.加多系列服务
复克制务脚本到/etc/init.d目录,并设置开机运转

cp support-files/mysql.server /etc/init.d/mysql
chmod  x /etc/init.d/mysql
chkconfig mysql on
#启动mysql
service mysql start
#停止mysql
service mysql stop
#重启mysql
service mysql restart

7.命令行登录mysql
率先将mysql登入命令的门路加入PATH中,修改/etc/profile文件,在文书末尾加上:

PATH=/usr/local/mysql/bin:$PATH
export PATH

关门文件,然后试行source /etc/profile让配置立时生效
登录mysql并修改root用户密码

mysql -u root

set password = password('123456');

下一次登入时就需求密码。

mysql -u root -p 

注意
假定远程登录mysql出错,可能是防火墙的3306端口暗许未有展开。同地点nginx开启防火墙80端口同样,在/etc/sysconfig/iptables文件出席:

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

保存,并执行:service iptables restart

正文若是你的apahce安装目录为/usr/local/apache2,那么些格局适合任何动静

环境和Shell变量

shell变量:定制用户本身的做事条件。

本地变量:在现阶段shell中定义,并且在现阶段shell中有意义。

情形变量:情状变量用于全数用户进度(平时称为子进度) 。登陆进程称为父进度。 shell中实行的用户进度均称为子进度。
设置时,要求用export命令导出为境况变量。

 

自定义bash环境

自定配置的文件是:~/.bash_profile 和 ~/.bashrc。这里的~只的是家目录。一般会在.bash_profile中设定能够一体适用的通令、搜索路线及景况变量,而把其它诸多的设定放在.bashrc中,例如外号等。

5、CentOS修改系统遭受变量

本身这里拿php作为四个例子,我的php安装在/usr/local/webserver/php下,未有把php插足情形变量时,你在命令行实行

1
2
#查看当前php的版本信息
[root@CentOS ~]# php -v

会唤醒您此命令不设有。

下边详细说说Linux下修改遭逢变量的艺术

一、安装nginx

以下命令均在root权限下实施,普通用户可通过su指令切换
1.安装正视

yum install gcc-c  
yum install pcre pcre-devel
yum install openssl openssl-devel

2.下载源码

wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1

3.创建nginx用户

useradd -M -s /sbin/nologin nginx

-M 表示不创建home目录
-s 钦赐shell为不记名

4.配备编写翻译

./configure  
--prefix=/usr/local/nginx 
--with-http_stub_status_module 
--with-http_ssl_module 
--user=nginx 
--group=nginx

make && make install

5.启动nginx
进入nginx的安装目录,即下面--prefix参数钦点的

cd /usr/local/nginx
sbin/nginx

开采浏览器就可以访问了。

图片 1

做客地址为本土地址

图片 2

走访地址为:192.168.253.131

注意要是是长途浏览器无法访问,恐怕是防火墙的80端口默许没有开启,必要开启这个端口。

打开/etc/sysconfig/iptables,在
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
上面增多:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存,并执行:service iptables restart

6.起步关闭nginx命令

自己钻探nginx配置文件是或不是正确

/usr/local/nginx/sbin/nginx -t

启动nginx

/usr/local/nginx/sbin/nginx

关闭nginx

/usr/local/nginx/sbin/nginx -s stop  或  pkill nginx

重启nginx

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

7.增添体系服务
本来也得以将能够将nginx作为系统服务管理,将上面运转脚本(参谋:nginx.com)出席/etc/init.d/nginx中,赋予可实行权限。

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig:   - 85 15 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse 
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# pidfile:     /usr/local/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

接下来,能够行使如下命令:

service nginx {start|stop|status|restart|reload|configtest}

也得以将nginx服务投入开机运转:

chkconfig nginx on

关闭:chkconfig iptables off

stty

stty命令用于展现和修改终端行设置。

指令格式为:stty SETTING CHAKuga

SETTING可以是之类

  • eof:输入实现,文件截至,默以为Ctrl D。比方:用cat>file来成立文件时,按Ctrl D来终止输入。
  • erase:向后去除字符,擦除最后二个输入字符,默以为Ctrl ?。注意暗中认可情形下退格键Backspace不是剔除字符。
  • intr:中断当前先后,默感到Ctrl C。
  • kill:删除整条命令,删除整行,默感觉Ctrl U。
  • quit:退出当前先后,默感觉Ctrl 或Ctrl |。
  • start:运转显示器输出,默感到Ctrl Q。
  • stop:甘休屏幕输出,暗中认可为Ctrl S。一时候终端突然僵死了,大概是相当的大心按了Ctrl S的案由,因为大家习于旧贯性的按Ctrl S来保存文件。
  • susp:terminalstop当前程序,默以为Ctrl Z。那样当前进度就能够成为后台进程了。
  • werase:删除最后三个单词,默认为Ctrl W。
  • stty命令还应该有局部任何用法,如:
  • stty-echo关闭回显。举例在本子中用来输入密码时。
  • sttyecho张开回显。

II、设置mysql开机运行

  1. 将mysql安装目录下 support-files目录下的mysql.server文件拷贝到/etc/init.d/目录下并改名换姓为mysqld,并转移权限

    1
    chmod 775 /etc/init.d/mysqld
  2. 设置开机运行

    1
    chkconfig mysqld on

要在重启 Apache 服务器时不中断当前的连年,则应运作:

~/.profile

用户的遭遇变量设置

I、nginx开机运行

  1. 在/etc/init.d/目录下开创脚本

    1
    vi  /etc/init.d/nginx
  2. 更换脚本权限

    1
    chmod 775 /etc/init.d/nginx
  3. 编纂脚本内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    #!/bin/bash
    # nginx Startup script for the Nginx HTTP Server
    # it is v.0.0.2 version.
    # chkconfig: - 85 15
    # description: Nginx is a high-performance web and proxy server.
    #              It has a lot of features, but it's not for everyone.
    # processname: nginx
    # pidfile: /var/run/nginx.pid
    # config: /usr/local/nginx/conf/nginx.conf
    nginxd=/usr/local/webserver/nginx/sbin/nginx
    nginx_config=/usr/local/webserver/nginx/conf/nginx.conf
    nginx_pid=/usr/local/webserver/nginx/logs/nginx.pid
    RETVAL=0
    prog="nginx"
    # Source function library.
    /etc/rc.d/init.d/functions
    # Source networking configuration.
    /etc/sysconfig/network
    # Check that networking is up.
    [ ${NETWORKING} = "no" ] && exit 0
    [ -x $nginxd ] || exit 0
    # Start nginx daemons functions.
    start() {
    if [ -e $nginx_pid ];then
       echo "nginx already running...."
       exit 1
    fi
       echo -n $"Starting $prog: "
       daemon $nginxd -c ${nginx_config}
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
       return $RETVAL
    }
    # Stop nginx daemons functions.
    stop() {
            echo -n $"Stopping $prog: "
            killproc $nginxd
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/webserver/nginx/logs/nginx.pid
    }
     
    reload() {
        echo -n $"Reloading $prog: "
        #kill -HUP `cat ${nginx_pid}`
        killproc $nginxd -HUP
        RETVAL=$?
        echo
    }
    # See how we were called.
    case "$1" in
    start)
            start
            ;;
    stop)
            stop
            ;;
    reload)
            reload
            ;;
    restart)
            stop
            start
            ;;
    status)
            status $prog
            RETVAL=$?
            ;;
    *)
            echo $"Usage: $prog {start|stop|restart|reload|status|help}"
            exit 1
    esac
    exit $RETVAL
  4. 安装开机运维

    1
    chkconfig nginxd on

kill -US路虎极光2 旧版程序的主进度号或进度文件名

1、nigx重启错误

bind() to 0.0.0.0:80 failed (98: Address already in use)

其一是nginx重启是 常常遇上的。   网络找了累累新闻都以绝非啥用。说的一无可取的。   发掘原来是nginx重复重启。本身据有了端口。 化解办法

1
killall -9 nginx

干掉nginx 进度  然后重启就行了。

1
service nginx restart

在phpinfo()输出内容能够见见php相关布置。

原文 

关闭:service iptables stop

4、nginx的平滑升级

  1. 备份好旧的可奉行文件,使用新本子替换旧版本
  2. kill -USTiguan2 旧版本的主进度PID 举行平整晋级, 此时新老版本共存
  3. kill -WINCH 旧版本的主进程PID  稳步关闭旧主进度的劳作经过
  4. 当旧主进程发生的做事进程全体关门后, 能够垄断(monopoly)是不是选取新本子仍旧旧版本.(须求运用kill命令来杀死新或旧主进程)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/bin/sh
    BASE_DIR='/usr/local/'
    ${BASE_DIR}nginx/sbin/nginx -t -c ${BASE_DIR}nginx/conf/nginx.conf >& ${BASE_DIR}nginx/logs/nginx.start
    info=`cat ${BASE_DIR}nginx/logs/nginx.start`
    if [ `echo $info | grep -c "syntax is ok" ` -eq 1 ]; then
    if [ `ps aux|grep "nginx"|grep -c "master"` == 1 ]; then
    kill -HUP `cat ${BASE_DIR}nginx/logs/nginx.pid`
    echo "ok"
    else
    killall -9 nginx
    sleep 1
    ${BASE_DIR}nginx/sbin/nginx
    fi
    else
    echo "######## error: ########"
    cat ${BASE_DIR}nginx/logs/nginx.start
    fi

apache重新开动命令:

方法一:

在/etc/profile文件中增多变量【对具备用户生效(永远的)】
用VI在文件/etc/profile文件中追加变量,该变量将会对Linux下具有用户有效,并且是“长久的”。

1
[root@CentOS ~]# vi /etc/profile

在文书末尾加上如下两行代码

1
2
PATH=/usr/local/webserver/php/bin:$PATH
export PATH

如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# /etc/profile
 
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
 
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
 
pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}
 
if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        # ksh workaround
        EUID=`id -u`
        UID=`id -ru`
    fi
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi
 
# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
    pathmunge /sbin after
fi
 
HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi
 
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
 
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi
 
for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
done
 
unset i
unset pathmunge
 
PATH=/usr/local/webserver/php/bin:$PATH
export PATH

只要刚才的改变登时见效,供给实行以下代码

1
[root@CentOS ~]# source /etc/profile

这儿再查看系统景况变量,就能够瞥见刚才加的东西已经生效了

1
2
[root@CentOS ~]# echo $PATH
/usr/local/webserver/php/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

今后就会平素运用php命令了(而不是像此前写十分长一串/usr/local/webserver/php/bin/php -v),举个例子查看当前php的本子

1
2
3
4
[root@CentOS ~]# php -v
PHP 5.3.8 (cli) (built: Jun 27 2012 14:28:20)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

二、 Restart Apache 2 Server /重启apache服务

附录:

# /etc/init.d/apache2 start

方法二:

在用户目录下的.bash_profile文件中追加变量【对单一用户生效(永恒的)】
用VI在用户目录下的.bash_profile文件中追加变量,改换量仅会对脚下用户有效,并且是“永远的”。具体操作和格局1一律,这里就不在列举代码了。

or

III、php-fpm开机运转

  1. 在/etc/init.d/目录下创设脚本

    1
    vi /etc/init.d/php-fpm
  2. 改换脚本权限

    1
    chmod 775 /etc/init.d/php-fpm
  3. 编写制定脚本内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    #!/bin/sh
    #
    # php-fpm - this script starts and stops the php-fpm daemin
    #
    # chkconfig: - 85 15
    # processname: php-fpm
    # config:      /usr/local/php/etc/php-fpm.conf
     
    set -e
     
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    DESC="php-fpm daemon"
    NAME=php-fpm
    DAEMON=/usr/local/php/sbin/$NAME     //这里设成自己的目录
    CONFIGFILE=/usr/local/php/etc/php-fpm.conf   //这里设成自己的目录
    PIDFILE=/usr/local/php/var/run/$NAME.pid   //这里设成自己的目录
    SCRIPTNAME=/etc/init.d/$NAME   //这里设成自己的目录
     
    # If the daemon file is not found, terminate the script.
    test -x $DAEMON || exit 0
     
    d_start(){
        $DAEMON -y $CONFIGFILE || echo -n " already running"
    }
     
    d_stop(){
        kill -QUIT `cat $PIDFILE` || echo -n " no running"
    }
     
    d_reload(){
        kill -HUP `cat $PIDFILE` || echo -n " could not reload"
    }
     
    case "$1" in
        start)
            echo -n "Starting $DESC: $NAME"
            d_start
            echo "."
            ;;
        stop)
            echo -n "Stopping $DESC: $NAME"
            d_stop
            echo "."
            ;;
        reload)
            echo -n "Reloading $DESC configuration..."
            d_reload
            echo "Reloaded."
            ;;
        restart)
            echo -n "Restarting $DESC: $NAME"
            d_stop
            # Sleep for two seconds before starting again, this should give the nginx daemon some time to perform a graceful stop
            sleep 2
            d_start
            echo "."
            ;;
        *)
            echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" >&2
            exit 3
            ;;
    esac
    exit 0
  4. 安装开机运转

    1
    chkconfig php-fpm on

1、使用 service 启动:service mysqld stop

Ⅳ、设置redis开机运维

  1. 在/etc/init.d/目录下创办脚本

    1
    vi /etc/init.d/redis
  2. 改动脚本权限

    1
    chmod 775 /etc/init.d/redis
  3. 编写脚本内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    ###########################
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
     
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    REDIS_CLI=/usr/local/bin/redis-cli
     
    PIDFILE=/var/run/redis.pid
    CONF="/etc/redis.conf"
     
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    $EXEC $CONF
            fi
            if [ "$?"="0" ]
            then
                  echo "Redis is running..."
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    $REDIS_CLI -p $REDISPORT SHUTDOWN
                    while [ -x ${PIDFILE} ]
                   do
                        echo "Waiting for Redis to shutdown ..."
                        sleep 1
                    done
                    echo "Redis stopped"
            fi
            ;;
       restart|force-reload)
            ${0} stop
            ${0} start
            ;;
      *)
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
            exit 1
    esac
    ##############################
  4. 安装开机运维

    1
    chkconfig redis on

迄今结束,马到功成。能够用命令 chkconfig 查看开机运转服务列表

1
chkconfig --list

init是兼具进度的祖先﹐它的进程号平素为1﹐于是发送TERM频限信号给init会终止全体的 用户进度﹑守护进度等。shutdown

/etc/init.d/php-fpm restart

/usr/local/mysql/bin/mysqld_safe --user=mysql&

2、使用 mysqld 脚本运营:/etc/inint.d/mysqld start

php-fpm 关闭:

Loaded Configuration File /etc/php.ini

'/tmp/mysql.sock' (111)

查看php-fpm进程数:

1则是被用来让系统进入管理职业能够开始展览的情形﹔那是预设的﹐假定未有-h也未曾-r参数给shutdown。要想打听在停机〔halt〕只怕重新开机〔reboot〕进度中做了怎么动作﹐你能够在那几个文件/etc/inittab里见到那一个runlevels相关的资料。

mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00

cat /etc/php-fpm.conf

会合到如下类似内容

问问 编辑摘要

[-n] 幸免sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的一级块。

LINUX重启MYSQL的命令

3.reboot

[-n] 不用init﹐而是自个儿来关机。不鼓励选拔那个选项﹐而且该选项所发出的结局往往不三番五次你所预期获得的。

要么利用

1) 永远性生效,重启后不会还原

开启:service iptables start

/usr/local/mysql/bin/safe_mysqld--uer=root&(注意 safe_mysqld与mysqld_safe是例外的,&表示mysql在后台运营)笔者的就能够报错了

4、reboot

手续1:查询nginx主进度号

三、重启

2.halt----最简便的关机命令

ERROR 2002: Can't connect to local MySQL server through socket

ps aux | grep -c php-fpm

一、运行格局

一、 运转格局

php-fpm 启动:

mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00

/usr/local/sbin/apachectl graceful

查看php-fpm进程数:

/usr/local/mysql/

1、使用 service 启动:service mysqld start

pid = /var/run/php-fpm/php-fpm.pid

2、使用 mysqld 脚本运行:/etc/inint.d/mysqld stop

那会儿要渐渐截至旧版 Nginx,输入指令:

三、Stop Apache 2 Server /停止apache服务

2) 即时生效,重启后复原

/usr/bin/php

抑或做个延续

shutdown 参数表明:

=============================

一声令下不对,小编遇见过

本文由ca88发布,转载请注明来源

关键词: ca88网址 日记本 随笔 Linux nginx