centos6.9 nginx添加开机自启

本文介绍了一个用于管理Nginx服务的Shell脚本,包括启动、停止、重启等功能,并详细展示了如何配置Nginx路径及用户权限,最后说明了如何通过chkconfig和服务命令进行服务管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在/etc/init.d/目录下,创建nginx文件

vim /etc/init.d/nginx

脚本内容如下:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# 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
# config:      /etc/sysconfig/nginx
# 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/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -z "`grep $user /etc/passwd`" ]; then
       useradd -M -s /bin/nologin $user
   fi
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    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
    sleep 1
    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

nginx 官方脚本根据自己情况需修改:

nginx="/usr/sbin/nginx"

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

添加执行权限

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

可对nginx 状态进行管理

/etc/init.d/nginx  status #查看状态

/etc/init.d/nginx  start  #开启nginx

/etc/init.d/nginx  stop   #关闭nginx

使用chkconfig对nginx进行管理

将nginx 加入chkconfig 加入管理列表

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

可用service 对nginx 进行管理

service status nginx  #查看状态

service start  nginx  #开启nginx

service stop   nginx  #关闭nginx

加入开机自启

chkconfig nginx on

 

<think>嗯,用户想在CentOS 6.9上设置SSH服务开机动。首先,我需要回忆一下CentOS 6的初始化系统,记得那时候用的是SysVinit而不是Systemd。所以开机动的服务应该用chkconfig来管理。 根据用户提供的引用资料,引用[1]提到用chkconfig --level 2345 sshd on,这应该是设置运行级别2345开sshd服务。而引用[4]也提到开、停止、重服务的命令是service sshd start等。所以步骤应该是先检查SSH是否安装,然后确保服务当前是运行的,再设置开机动。 首先,用户可能需要确认是否已经安装了openssh-server。引用[3]里用rpm -qa | grep ssh来检查,所以需要建议用户先执行这个命令,确认openssh-server的包是否存在。如果没有安装,可能需要先安装,但用户的问题主要是设置开机动,所以假设已经安装好了。 然后,检查SSH服务的状态,可以用/etc/init.d/sshd status或者service sshd status,如引用[1]和[2]提到的。如果服务没动,需要先动它,用service sshd start,这样当前会话就可以使用SSH了。 接下来设置开机动。引用[1]和[3]都提到了使用chkconfig命令。正确的命令应该是chkconfig sshd on,这会默认设置运行级别2345开。或者更明确地指定级别,如chkconfig --level 2345 sshd on。但通常直接使用chkconfig sshd on就足够了,因为默认的运行级别是3或5,而chkconfig on会设置这些级别。 然后需要验证设置是否成功,使用chkconfig --list sshd查看各个运行级别是否开。确认对应的级别(比如2、3、4、5)是否为on。 另外,用户可能还需要检查防火墙设置,确保22端口开放。引用[1]提到用iptables -nL查看规则,如果没有开放22端口,可能需要配置iptables添加规则,比如允许22端口的输入。不过这部分可能不在用户当前的问题范围内,但可以作为补充建议,避免SSH服务虽然动但无法连接的情况。 还要注意,CentOS 6.9默认可能已经安装了SSH,但服务可能没有动,如引用[2]提到的情况。所以用户需要检查状态,并手动动服务,再设置开机动。 总结步骤应该是:检查安装、动服务、设置开机动、验证设置、检查防火墙。这样用户就能确保SSH服务在开机时自动动,并且可以通过网络连接。</think>### 逐步说明:在 CentOS 6.9 中配置 SSH 开机动 #### 1. **检查 SSH 是否安装** ```bash rpm -qa | grep ssh ``` 确保输出包含 `openssh-server` 和 `openssh-clients` 包(例如 `openssh-server-5.3p1-124.el6_9.x86_64`)[^3]。若未安装,需先通过 `yum install openssh-server` 安装。 #### 2. **查看 SSH 服务当前状态** ```bash /etc/init.d/sshd status # 或 service sshd status ``` 若显示 `sshd is stopped`,需手动动服务[^2]。 #### 3. **立即动 SSH 服务** ```bash service sshd start # 或 /etc/init.d/sshd start ``` #### 4. **设置 SSH 开机动** ```bash chkconfig --level 2345 sshd on # 设置运行级别 2/3/4/5 开机动 ``` 或简写为: ```bash chkconfig sshd on # 默认针对运行级别 2/3/4/5 ``` #### 5. **验证开机动配置** ```bash chkconfig --list sshd ``` 输出应包含 `2:on 3:on 4:on 5:on`,表示已生效[^1][^4]。 #### 6. **检查防火墙开放 22 端口** ```bash iptables -nL | grep :22 ``` 若未开放,需添加规则: ```bash iptables -I INPUT -p tcp --dport 22 -j ACCEPT service iptables save # 保存防火墙规则 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值