设置nginx开机自启动

一、创建服务

1.服务创建的位置

# 我这里有两个创建服务的路径
	-- /etc/systemd/system/
	-- /lib/systemd/system/
	
# 服务名的要求
	-- xxx.service   	后缀名为.service结尾
	
# 创建服务命令
$ sudo vim /lib/systemd/system/nginx.service

创建服务命令 nginx-12.png

2.nginx服务的内容

# 内容如下(pid,php-fpm,conf路径按照个人的实际路径修改)
输入a,可以修改文件
按下esc键,然后按ZZ,就可以保存退出

[Unit]
Description=nginx service
After=network.target 

[Service] 
Type=forking 
ExecStart=/usr/local/nginx22/sbin/nginx
ExecReload=/usr/local/nginx22/sbin/nginx -s reload
ExecStop=/usr/local/nginx22/sbin/nginx -s quit
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重新加载命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

nginx服务的内容 nginx-13.png

二、启动nginx服务

$ systemctl start nginx		--启动nginx服务

$ systemctl status nginx		--查看服务的状态

启动nginx nginx-14.png

三、设置服务开机自启动

$ systemctl is-enabled nginx.service		--查看是否开机启动

检查服务是否开机启动 nginx-15.png

$ systemctl enable nginx.service			--设置开机自动动
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.

开机启动设置 nginx-16.png

四、服务的常用命令

$ systemctl start nginx		--启动服务

$ systemctl status nginx		--查看服务的状态

$ systemctl stop nginx		--停止服务

$ systemctl reload nginx		--重新加载

$ systemctl restart nginx		--重启

$ sudo netstat -tupln| grep 80	--查看端口号80

$ systemctl list-units --type=service     查看所有已启动的服务

一个常见的错误
Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.
直接按照提示执行命令systemctl daemon-reload 即可。

服务的常用命令 nginx-17.png