CentOS7安装开机自运维命令大全

CentOS7设置开机自启动命令大全

任务旧指令新指令使某服务自动启动chkconfig –level 3 httpd on systemctl
enable httpd.service使某服务不自动启动chkconfig –level 3 httpd
offsystemctl disable httpd.service检查服务状态service httpd
statussystemctl statushttpd.service (服务详细信息)
systemctl is-active httpd.service (仅显示是否
Active)显示所有已启动的服务chkconfig –listsystemctl list-units
–type=service启动某服务service httpd startsystemctl start
httpd.service停止某服务service httpd stopsystemctl stop
httpd.service重启某服务service httpd restartsystemctl restart
httpd.service

启动nginx服务

systemctlstartnginx.service

设置开机自启动

systemctlenablenginx.service

停止开机自启动

systemctldisablenginx.service

查看服务当前状态

systemctlstatusnginx.service

重新启动服务

systemctlrestartnginx.service

查看所有已启动的服务

systemctllist-units--type=service

任务旧指令
新指令使某服务自动启动chkconfig –level 3 httpd on systemctl enable
httpd.service使某服务不自动启动chkc…

CentOS下Nginx 设置开机 自启动 代码 脚本 命令

一、新建文本文件

vi /etc/init.d/nginx

二、添加

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.1.12.0 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
#modify
nginxd=/data/nginx/sbin/nginx
nginx_config=/data/nginx/conf/nginx.conf
nginx_pid=/data/nginx/nginx.pid
#modify
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

三、修改路径

修改#modify节点的路径(已经标红)

四、授权

chmod 755 /etc/init.d/nginx

就可以service nginx start stop 等命令了

设置开机 自启动 代码 脚本 命令
一、新建文本文件 vi /etc/init.d/nginx 二、添加 #!/bin/bash # nginx
Startup script for the Nginx HTTP Server #…

前言

服务器每次重启,都需要手动启动一些服务,这不是一个程序员可以忍受的,难怪大家都喜欢写脚本。接下来三篇文章,分别记录一下nginx、tomcat和mysql的开机自启动配置。

原文地址:http://www.voidking.com/2018/03/27/deve-centos-nginx-autostart/

CentOS开机自启动服务设置

标准方法:

/sbin/chkconfig list 查看可启动的服务列表 /sbin/chkconfig httpd on 开启自启动

如果服务里找不到,可以尝试使用rc.local文件。

1、编辑rc.local文件

#vi /etc/rc.d/rc.local

2、加入如下启动命令

/usr/sbin/apachectl start/etc/rc.d/init.d/mysqld start/etc/rc.d/init.d/smb start/usr/local/subversion/bin/svnserve -d

3、注意:我的这个路径是yum安装这些服务得到的路径,填写时要根据自己的安装路径,找不到可以借助whereis命令(用法详见

/92641add86cb3da8cc11664b.html),主要是找到apachectl 、mysqld 、smb
这三个启动文件。

4、注意:svn不是yum安装的,找到你的安装目录中bin目录下的svnserve这个启动

转载自www.webmaster.me

标准方法:
/sbin/chkconfig list 查看可启动的服务列表 /sbin/chkconfig httpd on
开启自启动 如果服务里找不到,可以尝试…

1. 前言

在进行CentOS上开发时,将一些软件设置为开机启动,又或者是能够使用systemctl命令进行启动会增加便利性,这里介绍CentOS上自定义开机启动的方法。

systemctl
用于系统服务的配置,部署,RedHat系已经将systemd作为了其默认的系统服务管理工具。其他实现方法也有service命令,或者直接修改/etc/init.d文件,再或者使用chkconfig这样的工具。

systemd

2. 本文分析内容安排

  • 建立服务文件
  • 保存目录
  • 设置开机启动

systemd简介

CentOS7已不再使用chkconfig管理启动项,而是使用systemd。关于systemd的衍生和发展,可以参见《CentOS7/RHEL7
systemd详解》和《CentOS7进程管理systemd详解》。简单介绍如下:

Linux系统从启动到提供服务的过程是这样,先是机器加电,然后通过MBR或者UEFI加载GRUB,再启动内核,内核启动服务,然后开始对外服务。

SysV init、UpStart、systemd主要是解决服务引导管理的问题。

SysV
init是最早的解决方案,依靠划分不同的运行级别,启动不同的服务集,服务依靠脚本控制,并且是顺序执行的。在CentOS5中使用,配置文件为/etc/inittab。
SysV
init方案的优点是:原理简单,易于理解;依靠shell脚本控制,编写服务脚本门槛比较低。
缺点是:服务顺序启动,启动过程比较慢;不能做到根据需要来启动服务,比如通常希望插入U盘的时候,再启动USB控制的服务,这样可以更好的节省系统资源。

为了解决系统服务的即插即用,UpStart应运而生,在CentOS6系统中,SysV
init和UpStart是并存的,UpStart主要解决了服务的即插即用。服务顺序启动慢的问题,UpStart的解决办法是把相关的服务分组,组内的服务是顺序启动,组之间是并行启动。在CentOS6系统中,配置文件为/etc/inittab和/etc/init/*.conf。

但是随着移动互联网的到来,SysV
init服务启动慢的问题显得越来越突出,许多移动设备都是基于Linux内核,比如安卓。移动设备启动比较频繁,每次启动都要等待服务顺序启动,显然难以接受,systemd就是为了解决这个问题诞生的。在CentOS7中使用,其配置文件为/usr/lib/systemd/system/
和 /etc/systemd/system/ 中的文件。
systemd的设计思路是:尽可能的快速启动服务;尽可能的减少系统资源占用。

3. 建立服务文件

开机启动配置文件在/lib/systemd/system目录中,服务以.service结尾,这里以docker仓库项目registry为例进行说明。registry启动需要加配置文件,配置文件为config-example.yml,我将之放到了/home/neo/docker-registry目录中,将registry移动到了/usr/bin目录下,那么启动registry镜像仓库的命名为registry
/home/neo/docker-registry/config-example.yml。每次都这么启动太过麻烦,这里介绍开机自启动方式,首先建立服务文件/lib/systemd/system/registry.service。文件的具体内容为:

[Unit]
Description=Docker Registry
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/registry /home/neo/docker-registry/config-example.yml
Execstop=/bin/kill /usr/bin/registry

[Install]
WantedBy=multi-user.target

注意:[Service]中需要加上Execstop=/bin/kill /usr/bin/registry,不然当执行systemctl start registry命令时不会退出到后台

systemd使用

在CentOS7中,systemctl命令主要负责控制systemd系统和服务管理器。基本取代了service和chkconfig命令,虽然service和chkconfig命令依然保留,但是据说已经被阉割过。

参考《Centos7下的systemctl命令与service和chkconfig》,整理常用命令如下:

  • systemctl --version,查看版本。
  • whereis systemctl,查看位置。
  • systemctl list-unit-files,列出所有可用单元(服务)。
  • systemctl list-units,列出所有运行中的单元。
  • systemctl --failed,列出所有失败的单元。
  • systemctl list-unit-files | grep enable,查看自启动的软件。
  • systemctl is-enabled mysqld.service,查看某个单元是否开机启动。
  • systemctl status mysqld.service,查看某个单元的状态。
  • systemctl start mysqld.service,启动某个单元。
  • systemctl restart mysqld.service,重启某个单元。
  • systemctl stop mysqld.service,停止某个单元。
  • systemctl daemon-reload,修改了某个单元的配置文件后,重载配置文件。
  • systemctl reload mysqld.service,重载某个单元。
  • systemctl enable mysqld.service,设置开机自启动。
  • systemctl disable mysqld.service,关闭开机自启动。
  • systemctl kill mysqld,杀死单元。

4. 保存文件

以644的权限保存文件

nginx

5. 设置开机启动

改变service文件时需要执行systemctl daemon-reload来使改变生效
启动registry服务命令:
systemctl start registry
开启启动registry命令:
systemctl enable registry

更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149549.htm

图片 1

yum安装nginx

参考《如何在CentOS
7上安装Nginx》,安装nginx,安装成功后使用systemctl命令设置自启动。

手动安装nginx

参考《Centos7安装Nginx实战》,安装步骤如下:

1、安装gcc等编译环境
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2、下载nginx1.12.0并解压
wget http://nginx.org/download/nginx-1.12.0.tar.gz

tar -xzvf nginx-1.12.0.tar.gz

cd nginx-1.12.0

3、创建目录

mkdir -p /var/temp
mkdir -p /var/temp/nginx
mkdir -p /var/temp/run/nginx
chmod a+wrx -R temp

4、配置编译选项

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/temp/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

切记,pid-path不能设置为/var/run/nginx/nginx.pid。因为CentOS每次重启后,都会删除/var/run目录中的自建目录和文件,从而导致nginx自启动失败。

5、编译安装
make && make install

进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功

6、测试启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件。

7、测试访问
curl localhost

浏览器如果不能访问,就打开防火墙或者开端口。
关闭防火墙,systemctl stop firewalld.service
开放端口,firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --reload

设置开机启动

手动安装的nginx,该怎样设置开机自启动?参照《Nginx+Center OS 7.2
开机启动设置(转载)》,步骤如下:

1、在系统服务目录里创建nginx.service文件
vi /usr/lib/systemd/system/nginx.service

2、写入内容如下:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

3、设置开机自启动
systemctl enable nginx.service

4、查看nginx状态
systemctl status nginx.service
很奇怪,明明启动成功了,为什么显示Active: inactive (dead)?

5、杀死nginx重启nginx
pkill -9 nginx

ps aux | grep nginx

systemctl start nginx

再次查看状态,变成了active,搞定。

6、重启服务器
reboot

7、再次连接后,查看服务状态
systemctl status nginx.service

看到nginx已经启动,至此,nginx自启动配置成功。

相关文章