本文概述
- CentOS或RHEL 6.x
- RHEL或CentOS 7.x
- Ubuntu
服务器重启可能有多种原因, 其中包括以下原因。
- 预定每周, 每月
- 由于硬件/内核问题出乎意料
一点点自动化。是不是
以下示例是在DigitalOcean服务器上测试的两个受欢迎的发行版。
CentOS或RHEL 6.x以下示例已作为Apache HTTP服务器使用, 但是你希望在Red Hat Enterprise Linux(RHEL)或CentOS 6版本中启动时启动的任何其他服务的过程均相同。
你可以保留任何脚本文件名, 在这里我保留了httpd
- 成为Linux服务器上的root用户
- 在/etc/init.d/下创建或复制脚本
[[email
protected] init.d]# ls -ltr httpd
-rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd
[[email
protected] init.d]#
【如何在Linux中启动时自动启动服务()】我们将使用chkconfig实用程序, 该实用程序在Linux或CentOS上默认可用。
- 使用带有– add参数的chkconfig添加脚本以在启动时启动
[[email
protected] init.d]# chkconfig --add httpd
[[email
protected] init.d]# chkconfig httpd on
- 确认脚本已成功添加– list
[[email
protected] init.d]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email
protected] init.d]#
就这样!将调用httpd脚本以在Linux启动时启动服务。
如果你需要禁用自动启动服务, 则可以使用以下命令
chkconfig httpd off
chkconfig --del httpd
RHEL或CentOS 7.x在RHEL 7中引导时配置服务的过程与RHEL 6略有不同。它使用systemd来管理服务。
安装软件时, 大多数软件(例如Apache, PHP, MySQL, Nginx脚本)都会添加到服务中。
让我们以PHP-FPM为例。
首先, 让我们看看php-fpm的状态
[[email
protected] ~]# systemctl status php-fpm
php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service;
disabled;
vendor preset: disabled)
Active: inactive (dead)
[[email
protected] ~]#
如你所见, 该状态为禁用状态, 这表示该状态未配置为在启动时启动。
让我们使用systemctl启用php-fpm在启动时启动
[[email
protected] ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[[email
protected] ~]#
现在, 让我们看看状态
[[email
protected] ~]# systemctl status php-fpmphp
php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service;
enabled;
vendor preset: disabled)
Active: inactive (dead)
[[email
protected] ~]#
php-fpm全部设置为在启动时启动。让我们通过重新引导服务器进行测试。
如果你需要在启动时禁用启动服务, 则可以使用以下命令
systemctl disable php-fpm
RHEL 7有很多新功能, 如果你想了解更多信息, 可以参考Cody Ray Miller的在线课程。
Ubuntu在Ubuntu中配置自动启动服务略有不同。假设脚本名称是nginx
- 用root登录到Ubuntu服务器
- 将脚本复制到/etc/init.d/文件夹中
- 执行以下命令
update-rc.d nginx defaults
- 重新启动服务器以确保服务已启动。
系统管理总是很有趣且充满挑战, 如果你希望在其中发展事业, 那么你可以参考Jason Cannon的在线课程。
推荐阅读
- 如何在Linux中更改主机名
- 如何查看Alfresco版本()
- 10个有用的Linux网络命令
- Web故障排除(如何查找DNS IP和IP位置)
- 已解决(configure: error: C compiler cc is not found)
- 在Linux中为MQ安装增加文件最大和无文件限制
- 已解决(Could not resolve host: mirrorlist.centos.org; No address associated with hostname)
- 使用Sumologic来分析Pro之类的日志–大数据和分析
- Android 的UI基础布局的学习