Centos7 上面已经把 /etc/init.d/ 服务的启动方式更改为 systemctl 启动。
当然编译安装仍然可以 /etc/init.d/ 手动启动但是 chkconfig –add nginx 就用不了。so~
【环境】:CentOS Linux release 7.1.1503 (Core)
【Ningx】: 安装位置 /data/nginx
1. 首先你要编译安装 Nginx 服务并保证服务可以正常运行.
这里我就不多说了这是最最基本的.
CentOS 7 的服务 systemctlf 服务脚本有系统 (system) 和用户 (user) 之分
我们在 /usr/lib/systemd/system 下面新建一个配置文件nginx.server
编辑配置文件 /usr/lib/systemd/system/nginx.server
每一个服务以.service 结尾,一般会分为 3 部分:[Unit]、[Service]和[Install]
配置文件如下
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/data/nginx/sbin/nginx
ExecReload=/data/nginx/sbin/nginx -s reload
ExecStop=/data/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]: 服务的说明
Description: 描述服务
After: 描述服务类别
[Service]服务运行参数的设置
Type=forking 是后台运行的形式
ExecStart 为服务的具体运行命令
ExecReload 为重启命令
ExecStop 为停止命令
PrivateTmp=True 表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
2. 权限更改
必须是 754 权限
chmod 754 nginx.service
3. 设置开机自启动
systemctl enable nginx.service
完成配置再次开机 Nginx 服务即可实现开机自动启动