centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。关于Systemd的详情介绍在这里。
Systemd服务文件以.service结尾,比如现在要建立Nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建Nginx.service文件,直接用命令
1 |
systemcel enable Nginx.service
|
设置开机启动即可。
在这里我是用源码编译安装的,所以要手动创建Nginx.service服务文件。
开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
1 |
/lib/systemd/ system /
|
1.在系统服务目录里创建Nginx.service文件
1 |
vi /lib/systemd/ system /Nginx.service
|
内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[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
|
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
保存退出。
2.设置开机启动
1 |
systemctl enable Nginx.service
|
3.其他命令
启动Nginx服务
1 |
systemctl start Nginx.service
|
设置开机自启动
1 |
systemctl enable Nginx.service
|
停止开机自启动
1 |
systemctl disable Nginx.service
|
查看服务当前状态
1 |
systemctl status Nginx.service
|
重新启动服务
1 |
systemctl restart Nginx.service
|
查看所有已启动的服务
1 |
systemctl list-units --type=service
|
4.Systemd 命令和 sysvinit 命令的对照表
5.Sysvinit 运行级别和 systemd 目标的对应表
YUM 安装NGING
- 已加载插件:fastestmirror
- Loading mirror speeds from cached hostfile
- * base: mirror.lzu.edu.cn
- * extras: mirror.lzu.edu.cn
- * updates: mirror.lzu.edu.cn
- 没有可用软件包 Nginx。
- 错误:无须任何处理
原因是Nginx位于第三方的yum源里面,而不在centos官方yum源里面
解决方法:
安装
sudo yum install epel-release
更新(更新时间稍微长一些,耐心等待)
yum update
重新试一下:
yum install -y Nginx
没问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。