CentOS 7 以上是用 Systemd 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统,Systemd 服务文件以 .service 结尾。
使用命令 yum 安装 nginx
如果用 yum install
命令安装 nginx,yum 命令会自动在目录 /usr/lib/systemd/system 下创建 文件 nginx.service,那么直接用如下命令就可以设置 nginx 开机启动:
[root@htlwk0001host ~]# systemctl enable nginx.service
使用源码编译安装 nginx
用源码编译安装的,要在目录 /lib/systemd/system/ 或目录 /usr/lib/systemd/system 下手动创建 nginx.service 服务文件。Linux 开机后就能运行的系统程序都是存放在这两个目录下的。
在系统服务目录里创建 nginx.service 文件,输入如下命令:
[root@htlwk0001host ~]# 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
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
关于配置文件参见《Systemd 的 Unit 配置文件详解》
接着执行开机启动命令即可:
[root@htlwk0001host ~]# systemctl enable nginx.service