• linux nginx,php开机启动


    nginx开机启动

    1.首先,在linux系统的/etc/init.d/目录下创建nginx文件

    vim /etc/init.d/nginx

    2.加入脚本

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

    或者脚本:

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

    源码来源于:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/

    注意其中

    nginx=”/usr/sbin/nginx” 修改成nginx执行程序的路径。

    NGINX_CONF_FILE=”/etc/nginx/nginx.conf” 修改成配置文件的路径。

    3.设置文件权限

    chmod a+x /etc/init.d/nginx

    4.使用chkconfig进行管理

    先将nginx服务加入chkconfig管理列表:

    chkconfig --add /etc/init.d/nginx

    加完这个之后,就可以使用service对nginx进行启动,重启等操作了。

    service nginx start
    service nginx stop

    注意:如果是刚配置好chkconfig管理,要多敲几次service nginx stop 命令(刚加入有可能稍等下,命令才有效)

    5.设置终端模式开机启动:

    chkconfig nginx on

    php开机启动

    前提需要正确配置php-fpm

    vim /etc/init.d/php-fpm

    内容如下

    #!/bin/sh  
    # chkconfig:   2345 15 95
    
    # description:  PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation 
    
    # with some additional features useful for sites of any size, especially busier sites.
    # DateTime: 2016-09-20
    
    # Source function library.  
    . /etc/rc.d/init.d/functions  
    
    # Source networking configuration.  
    . /etc/sysconfig/network  
    
    # Check that networking is up.  
    [ "$NETWORKING" = "no" ] && exit 0  
    
    phpfpm="/usr/local/php/sbin/php-fpm"  
    prog=$(basename ${phpfpm})  
    
    lockfile=/var/lock/subsys/phpfpm
    
    start() {  
        [ -x ${phpfpm} ] || exit 5  
        echo -n $"Starting $prog: "  
        daemon ${phpfpm}
        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 ${phpfpm} -HUP  
        RETVAL=$?  
        echo  
    }  
    
    force_reload() {  
        restart  
    }  
    
    configtest() {  
      ${phpfpm} -t
    }  
    
    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  
            ;;  
        status)  
            rh_status  
            ;;  
        *)  
            echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"  
            exit 2  
    esac
    View Code

    再就是加到开机启动项里面去

    chkconfig --add php-fpm

    然后启动

    service php-fpm start    // 启动
    service php-fpm stop   // 停止

     故障一:权限被拒绝  

    env: /etc/init.d/php-fpm: Permission denied

    解决办法:

    把/etc/rc.d/init.d/php-fpm 权限改为0755   或者 chmod a+x /etc/init.d/php-fpm

    故障二:php-fpm出现乱码(而且文件变的很大二十几兆)

    解决办法:

    1.备份当前php-fpm

    2. 新建php-fpm

    ssh  > vim /etc/rc.d/init.d/php-fpm

    3.输入代码:

    #!/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/nginx/sbin/nginx
    nginx_config=/usr/local/nginx/conf/nginx.conf
    nginx_pid=/var/run/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 /var/run/nginx.pid
    }
    # reload nginx service functions.
    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
    View Code

    其他参考:

    https://blog.csdn.net/u013870094/article/details/52463026

    https://www.cnblogs.com/jimisun/p/8057156.html

  • 相关阅读:
    【笔记】Cross Join&lag与lead函数
    【笔记】Oracle 窗口函数
    【笔记】greatest/least函数&Round函数
    【笔记】Oracle列转行unpivot&行转列 PIVOT
    【Oracle】ORDER BY 2 DESC,1 ASC,同时对多个数据列进行不同的顺序排序&Oracle中的 (+)
    PostgreSQL 14.4的安装以及使用以及一些安装的异常
    如何设计一个keyvalue存储
    Implementing a KeyValue Store – Part 5: Hash table implementations
    Using existing keyvalue stores as models
    Implementing a KeyValue Store – Part 6: OpenAddressing Hash Tables
  • 原文地址:https://www.cnblogs.com/wesky/p/9053841.html
Copyright © 2020-2023  润新知