由于祥哥的apache和mysql是自己编译安装的,现在要加到系统服务中管理,上篇文章介绍过systemctl的格式,所以来实践一下。
目录/usr/lib/systemd/system/新建
httpd.service[Unit]
Description=httpd
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
ExecReload=/usr/local/apache2/bin/apachectl restart
ExecStop=/usr/local/apache2/bin/apachectl stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
mysqld.service
我们是利用mysql下面的support-files/mysql.server来启动配置的,所以如果你更改了数据的存储路径需要把mysql.server下的datadir配置了。datadir=/usr/local/mysql/data[Unit]
Description=MySQL Community Server
After=network.target syslog.target
[Install]
WantedBy=multi-user.target
[Service]
Type=forking
User=mysql
Group=mysql
PIDFile=/usr/local/mysql/data/localhost.localdomain.pid
PermissionsStartOnly=true
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server restart
ExecStop=/usr/local/mysql/support-files/mysql.server stop
这里祥哥特意说明一下mysql,当我们安装完mysql,我们可以先用${mysql}/support-files/mysql.server start
这个来启动MYSQL,当然也可以用别的方法启动,启动成功后我们可以使用ps的命令查看PID文件路径ps -ef|grep mysql
会看到下图,也就是上面的配置文件中的pid名称与路径不是随便写的。因为systemctl status mysqld是要监按这个进程的。
最后重新载入单元,扫描新的或有变化的单元,使刚刚配置添加的mysqld.service生效systemctl daemon-reloadsystemctl enable mysqld #设置开机启动
systemctl start mysqld #启动mysql
systemctl stop mysql #停卡mysql
systemctl restart mysql #重启mysql