【问题标题】:add services to init.d on Ubuntu在 Ubuntu 上向 init.d 添加服务
【发布时间】:2015-07-09 22:15:55
【问题描述】:


我正在尝试简化我的 ubuntu 服务器上的命令。

现在,要启动/停止/重新启动 apache2,我们必须输入这些命令:
停止:/etc/apache2/bin/apachectl -k stop
开始:/etc/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf
重启:/etc/apache2/bin/apachectl restart

和 MySql 有点相同:
停止:mysqladmin -u root shutdown
开始:mysqld_safe --user=mysql --log &

我希望能够使用/etc/init.d/apache2 start/etc/init.d/mysql start 使其变得简单,而不必总是查看Wiki 来查找每次要使用的确切命令...
我试图找到要放入 init.d 文件夹的文件样本,但什么也没找到。

我还想知道如何对 service apache2 start 执行相同操作(停止/重启和 MySql 也是如此)。
使用/etc/init.d/xx startservice xx start 有区别吗?
谢谢你的帮助!

【问题讨论】:

    标签: mysql apache ubuntu service init.d


    【解决方案1】:

    只需将可执行文件(即apachectl)放在/etc/init.d/ 中,然后尝试使用/etc/init.d/apache{tab} restart/start/stop 和所有的mysql 也可以。

    实际上init.d包含可执行的shell脚本文件。

    注意文件应该是可执行的,如下所示 chmod +x /etc/init.d/apachectl

    【讨论】:

    • 好吧,是不是有什么脚本可以写成start的意思是:运行带有-f /usr/local/apache2/conf/httpd.conf参数的可执行文件?
    • 是的,如果您正确配置了环境变量。只需尝试将 /bin/apachectl 放置到 /init.d/
    • 如果您在 ubuntu 中使用 sudo apt-get install apache 安装 apache,比默认情况下安装在 /init.d/ 目录中的多一件事我认为不需要做这个漫长的过程
    • 我们必须手动安装 MySql 和 Apache,因为我们需要特定的版本才能类似于生产。我实际上可以使用 /etc/init.d/apache2 restart/start/stop (重命名 apachectl 之后),它可以工作。 “如果您正确配置了环境变量,是的”是什么意思?我应该在我的环境变量中添加什么?
    • 意味着你必须在PATH="$HOME/bin:$PATH"这样的路径中设置默认/bin,你会发现vim ~/.profile如果它的/bin比它会执行所有的shell脚本,在你的情况下它会这样你就可以将 shell 文件放在 /init.d/ 中并执行它。
    猜你喜欢
    • 2023-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 2012-05-13
    • 2015-06-27
    相关资源
    最近更新 更多