系统启动时需要加载的配置文件

/etc/profile、/root/.bash_profile

/etc/bashrc、/root/.bashrc

/etc/profile.d/*.sh、/etc/profile.d/lang.sh

/etc/sysconfig/i18n、/etc/rc.local(/etc/rc.d/rc.local)

一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)

# 1.编辑rc.local文件

[root@localhost~]# vi /etc/rc.local

#2.修改rc.local文件,在 exit 0前面加入以下命令。保存并退出。/etc/init.d/mysqld start # mysql开机启动/etc/init.d/nginx start # nginx开机启动

supervisord-c /etc/supervisor/supervisord.conf # supervisord开机启动/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null#3.最后修改rc.local文件的执行权限

[root@localhost~]# chmod +x /etc/rc.local

[root@localhost~]# chmod 755 /etc/rc.local

二、自己写一个shell脚本

将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本。

三、通过chkconfig命令设置

# 1.将(脚本)启动文件移动到 /etc/init.d/或者/etc/rc.d/init.d/目录下。(前者是后者的软连接)mv /www/wwwroot/test.sh /etc/rc.d/init.d

#2.启动文件前面务必添加如下三行代码,否侧会提示chkconfig不支持。

#!/bin/sh告诉系统使用的shell,所以的shell脚本都是这样

#chkconfig:35 20 80分别代表运行级别,启动优先权,关闭优先权,此行代码必须

#description: http server 自己随便发挥!!!,此行代码必须/bin/echo $(/bin/date +%F_%T) >> /tmp/test.log

#3.增加脚本的可执行权限chmod +x /etc/rc.d/init.d/test.sh#4.添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动。

[root@localhost~]# cd /etc/rc.d/init.d

[root@localhost~]# chkconfig --add test.sh[root@localhost~]# chkconfig test.shon

#5.关闭开机启动

[root@localhost~]# chkconfig test.shoff

#6.从chkconfig管理中删除test.sh

[root@localhost~]# chkconfig --del test.sh#7.查看chkconfig管理

[root@localhost~]# chkconfig --list test.sh

四、自定义服务文件,添加到系统服务,通过Systemctl管理

1.写服务文件:如nginx.service、redis.service、supervisord.service

[Unit]:服务的说明

Description:描述服务

After:描述服务类别

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

Type=forking 是后台运行的形式

ExecStart 为服务的具体运行命令

ExecReload 为服务的重启命令

ExecStop 为服务的停止命令

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

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

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

WantedBy=multi-user.target

2.文件保存在目录下:以754的权限。目录路径:/usr/lib/systemd/system。如上面的supervisord.service文件放在这个目录下面。

[root@localhost ~]# cat /usr/lib/systemd/system/nginx.service

[root@localhost~]# cat /usr/lib/systemd/system/supervisord.service

3.设置开机自启动(任意目录下执行)。如果执行启动命令报错,则执行:systemctl daemon-reload

设置开机自启动

[root@localhost~]# systemctl enable nginx.service

[root@localhost~]# systemctl enable supervisord

停止开机自启动

[root@localhost~]# systemctl disable nginx.service

[root@localhost~]# systemctl disable supervisord

验证一下是否为开机启动

[root@localhost ~]# systemctl is-enabled nginx

[root@localhost ~]# systemctl is-enabled supervisord

4.其他命令

启动nginx服务

[root@localhost~]# systemctl start nginx.service

停止nginx服务

[root@localhost~]# systemctl start nginx.service

重启nginx服务

[root@localhost~]# systemctl restart nginx.service

查看nginx服务当前状态

[root@localhost~]# systemctl status nginx.service

查看所有已启动的服务

[root@localhost~]# systemctl list-units --type=service

5.服务文件示例:

# supervisord.service进程管理服务文件

[Unit]

Description=Process Monitoring and Control Daemon # 内容自己定义:Description=Supervisor daemon

After=rc-local.service nss-user-lookup.target

[Service]

Type=forking

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

ExecStop= /usr/bin/supervisorctl shutdown

ExecReload=/usr/bin/supervisorctl reload

Restart=on-failure

RestartSec=42s

KillMode=process

[Install]

WantedBy=multi-user.target

# 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

# redis.service服务文件

[Unit]

Description=Redis

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

[Service]

Type=forking

ExecStart=/usr/local/bin/redis-server /etc/redis.conf

ExecStop=kill -INT `cat /tmp/redis.pid`

User=www

Group=www

[Install]

WantedBy=multi-user.target

Linux服务跟随启动,Linux—添加开机启动(服务/脚本)相关推荐

  1. linux启动设置运行级别,Linux的运行级别和设置开机启动服务的方式

    Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...

  2. linux 添加开机启动项的三种方法。

    原文地址: https://blog.csdn.net/lylload/article/details/79488968 Shell环境变量配置文件:https://blog.csdn.net/yzs ...

  3. 【linux 】添加开机启动项的方法|Linux目录结构和存放哪些文件

    目录 linux 添加开机启动项的方法 编辑文件 /etc/rc.local 在/etc/init.d目录下添加自启动脚本 每次登录自动执行 通过chkconfig命令设置 把脚本注册为系统服务 在c ...

  4. ​linux 添加开机启动项的三种方法

    linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...

  5. Linux 添加开机启动项的三种方法

    linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...

  6. win8手动添加linux启动项,Win8下添加开机启动项的简单办法

    Win8的用户越来越多,大家会发现任务管理器新添加了一个"启动"的功能,我们可以在其中随意删减开机启动项,以达到提高开机效率的目的.但是怎样才能添加我们平时经常用到的软件作为开机启 ...

  7. CentOS 7添加开机启动服务/脚本

    CentOS 7添加开机启动服务/脚本 一.添加开机自启服务 在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins. ...

  8. Linux下设置mysql和tomcat开机启动

    本文基于CentOS 64位 一.mysql设置开机启动 1.cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql   将服 ...

  9. ubuntu 设置开机启动与关闭开机启动(适用于部分linux系统)

    ubuntu 设置开机启动与关闭开机启动 首先,以apache开机启动的关闭为例, 参见:http://blog.csdn.net/lyhdream/article/details/8897618 然 ...

  10. 【centos7】添加开机启动服务/脚本

    2019独角兽企业重金招聘Python工程师标准>>> 一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl ...

最新文章

  1. android base layout - top middle bottom
  2. 热传的职场异性相处PPT!网友评:你倒是给我分配个女同事啊!
  3. delphi中的提前声明
  4. [Training Video - 1] [Selenium Basics] [Download and Install Selenium]
  5. 关于java static 关键字
  6. 微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?
  7. HDU 1492 The number of divisors(约数) about Humble Numbers
  8. ioca0中断 pic单片机_关于PIC单片机的模块和功能总结
  9. 查找某节点的所有祖先☆
  10. spring boot入门学习---热部署
  11. Java基础学习总结(132)——Java8 Stream流操作学习总结
  12. Jenkins插件开发(四)-- 插件发布
  13. 填坑帖 By cellur925
  14. Android开发笔记(六)可变字符串
  15. Linux执行U盘里内程序,Linux 最小系统挂载U盘(SD、TF卡)并执行程序
  16. stm32 Invalid Rom Table 至芯片锁死解决方案
  17. 电容式液晶屏可实现多点触控
  18. Android 后台保活,这里有你需要的所有姿势。2019,最新版本。
  19. python是什么?能干什么
  20. tvOS游戏开发系列(SpriteKit)之准备工作(一)

热门文章

  1. 【笔记】MySQL的基础学习(二)
  2. python 工具ScreenShoot
  3. Java中调用文件中所有bat脚本
  4. 边工作边刷题:70天一遍leetcode: day 67-1
  5. Java中对数组的排序方法总汇分析
  6. java——获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序
  7. LeetCode刷题记录_最长公共前缀
  8. linux目录架构及常用的基本命令
  9. gtone eclipse plugin install
  10. 浅谈数据结构-二叉排序树