联系QQ 284710375
首页 > 技术分享 > LNMP|WAMP
收藏

CentOS将编译安装的Nginx添加到service/systemctl2017-08-22 17:30:51

大潇博客 原创文章,转载请标明出处

1、CentOS6操作方法:

第一步:

编写nginx文件,放入/etc/init.d/

nginx文件内容如下,粉红色部分为自己实际nginx安装的路径。

#!/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/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/var/run/nginx.pid
RETVAL=0prog="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 1fi
   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" instart)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}"exit 1esacexit $RETVAL

第二步:

执行

chkconfig --add /etc/init.d/nginx
chmod 755 /etc/init.d/nginxchkconfig --add nginx

如果想随系统启动就执行

/sbin/chkconfig --level 345 nginx on

第三步

nginx启动、停止、无间断服务重启,可选  start | stop | restart | reload | status |  help

service nginx start
service nginx stop
service nginx reload


转载于:http://www.cnblogs.com/shihaiming/p/6290219.html


2、CentOS7操作方法

假设nginx安装在/usr/bin/nginx,配置文件在/usr/local/nginx/conf/nginx.conf

第一步

打开文件

vi /usr/lib/systemd/system/nginx.service


第二部

文件保存如下数据

[Unit]

Description=nginx - high performance web server

After=network.target remote-fs.target nss-lookup.target


[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

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

ExecStop=/usr/local/nginx/sbin/nginx -s stop


[Install]

WantedBy=multi-user.target


[Unit]:服务的说明

Description:描述服务

After:描述服务类别


[Service]服务运行参数的设置

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间

注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户


第三部

修改权限,现在systemctl可以使用nginx了

chmod 754 nginx.service


如:/bin/systemctl start nginx.service


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311