centos7开机脚本

来源:转载



- 在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=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
```
- php
- 在系统服务目录里创建php-fpm.service文件
```
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target
```
- [Unit]:服务的说明
- 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.service
systemctl disable php-fpm.service
```
- 启动nginx服务
```
systemctl start nginx.service
systemctl start php-fpm.service
```
- 查看服务当前状态
```
systemctl status nginx.service
systemctl status php-fpm.service
```
- 重新启动服务
```
systemctl restart nginx.service
systemctl restart php-fpm.service
```
- 查看所有已启动的服务
```
systemctl list-units --type=service
```
- Systemd 命令和 sysvinit 命令的对照表
![输入图片说明](/2014th7cj/d/file/p/20170804/4y5wqxax3je.png "在这里输入图片标题")
- Sysvinit 运行级别和 systemd 目标的对应表
![输入图片说明](/2014th7cj/d/file/p/20170804/dr4ygd4z324.png "在这里输入图片标题")

分享给朋友:
您可能感兴趣的文章:
随机阅读: