在centos7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件chmod +x /etc/rc.d
- 在centos7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件
chmod +x /etc/rc.d/rc.local
- 另一种就是做服务启动,下面拿nginx和php来做成服务启动的例子
- nginx
- 在系统服务目录里创建nginx.service文件
vim /lib/systemd/system/nginx.service
- 写入以下内容(路径改成自己的)
[Unit]Description=nginxAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.target
- php
- 在系统服务目录里创建php-fpm.service文件
[Unit]Description=php-fpmAfter=network.target[Service]Type=forkingExecStart=/usr/local/php/sbin/php-fpmPrivateTmp=true[Install]WantedBy=multi-user.target
- Description:描述服务
- After:描述服务类别
- [Service]服务运行参数的设置
- Type=forking是后台运行的形式
- ExecStart为服务的具体运行命令
- ExecReload为重启命令
- ExecStop为停止命令
- PrivateTmp=True表示给服务分配独立的临时空间
- 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
- [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
- 保存退出。
- 设置开机启动
systemctl enable nginx.service #注意后面不能跟空格systemctl enable php-fpm.service
- 停止开机自启动
systemctl disable nginx.servicesystemctl disable php-fpm.service
- 启动nginx服务
systemctl start nginx.servicesystemctl start php-fpm.service
- 查看服务当前状态
systemctl status nginx.servicesystemctl status php-fpm.service
- 重新启动服务
systemctl restart nginx.servicesystemctl restart php-fpm.service
- 查看所有已启动的服务
systemctl list-units --type=service
- Systemd 命令和 sysvinit 命令的对照表
- Sysvinit 运行级别和 systemd 目标的对应表