Linux centos系统安装php-fpm Nginx时出现问题 Failed to start php-fpm.service: Unit not found. PID file

前言:

            自己在Linux centos7 系统下配置了Nginx服务器和php-fpm。一开始也是看网上的教程,自己敲代码。不能说别人分享的不对,怎么的,只能说每个人的系统不一样,环境也不一样。在安装的过程中,这样那样的错误也总常在。所以,我这篇博客,也不是都适用每个人。只是把自己的问题分享给大家,当大家出现类似的问题的时候,能找到共鸣,不至于绝望,搞着搞着就不想弄了,在程序员这条路上,我们会有各种各样的问题,也改不完的bug。所以,心态放好,遇到问题了,就分析问题的所在。而不是一味的百度什么的,只有找到问题的核心点,才能找到精准的解决办法,进而问题才能得以快速解决。---这个是我自己感悟。不能碰到什么问题都想都不想百度,这样效率低,还得不到解决。

背景:微信小程序:中玉玉器微商平台。由于这个项目业务扩充,原有的服务器不足以完成现在需求。需要更大的空间和响应速度,原由服务器都不能满足。

原项目架构:Apache(2.4.9)+PHP(5.5.12)+MySQL(5.6.17);现改:Nginx+PHP(7.0.0)+MySQL;


问题:

(代码比较多,请耐心看下去)

    1:Nginx服务器搭建:(部分报错错误,忘记了)

        网上教程很多,这里不一一赘述。直接讲遇到问题;

报错nginx.service不存在

        1) /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
   
周一又是新的开始!所有事情都按照往常的节奏按部就班,有条不紊的进行着。首先是检查下各网站及应用系统是否正常,然后看看日志信息是否也有异样,一圈下来结果跟以前差一样没有其它问题。   今天唯独没有像往一样,上线之后并没打开系统监控(平都是用SecureCRT登录系统之后,打开TOP命令让它一直在线,偶尔看下)。到了早上10点多快11点的候,随手又点击了一下网站,这下出现的画面让我为之一醒(不是一惊)   所 实话这个介面还真不多见,但跟这个相似的就是前后端连接超也会出现一个提示页面,但内容不太一样。这下我就急了,难道被人黑了?因为最近老有朋友说他的 网站被挂马了,所以我一个冲上来的念头就是被人黑了。连忙SSH登录后台看看,最后的登录IP也是自己的,这才稍有点放心,是自己紧张过头了。   稍作冷静之后,再结合提示页面的信息,应该是系统服务出了问题而非被入侵造成。于是就从检查日志、进程、端口等方面着手展开排查,很快就在php-fpm.log日志文件有所发现   突然似乎想到了什 么,要检查下PID文件,因为在Linux下记录某个进程是否运行是通过生成一个对应的PID文件,写入当前的进程号作标识的。真是喜出望外呀~这个 pid文件是空的,虽然有这个名称的文件,但里边没有内容。所以就解释了为什么启动服务就说已经运行,停止它的候说失败了。几经检查,发现用来启动 php-fpm的脚本写得不严密,只是在启动的候检查是否有pid文件存在而不管它是否有真实的PID内容,才造成了启动、停止都不正常。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值