Linux中systemctl启动nginx

Linux中systemctl启动nginx

部署ng的时候出现了以下现象
开了两个窗口
在其中一个启动了ng,在sbin目录下./nginx启动,启动正常
在另外一个观察ng的进程,进程正常
启动了ng的那个窗口关闭,再去另外一个窗口看ng进程,就无了

没找到导致的原因,启动执行是挂起的,但是我关闭了shell这个远程连接linux服务器的窗口,ng的服务就挂了。按道理来说,关个远程界面,不会影响服务器吧

基于以上情况,我选择了曲线救国,换成了用systemctl启动nginx

CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在目录 /usr/lib/systemd/system里。Systend的新特性:

系统引导时实现服务的并行启动;

按需激活进程;

系统实现快照;

基于依赖关系定义服务的控制逻辑;

systemctl可用于内省和控制“systemd”系统和服务管理器的状态。centos7.x系统环境下我们经常使用此命令启停服务,实际上此命令除了其他独立服务还有很多其他用途。

root用户登录服务器

#进入配置文件的目录
cd /usr/lib/systemd/system
#修改nginx的服务配置
vim nginx.service

#按i进入修改,修改的文本内容如下
[Unit]    						     //说明
Description=nginx					 //服务名
After=network.target				 //服务类别

[Service]							//参数配置
Type=forking						//ng后台运行的类型
ExecStart=/usr/local/nginx/nginx/sbin/nginx -c /usr/local/nginx/nginx/conf/nginx.conf  //启动命令,用自己的路径
ExecReload=/usr/local/nginx/nginx/sbin/nginx -s reload	//重启命令,用自己的路径
ExecStop=/usr/local/nginx/nginx/sbin/nginx -s quit	    //停止命令,用自己的路径
PrivateTmp=true    //启用私有化临时目录,保证安全性,避免和其他服务冲突

[Install]
WantedBy=multi-user.target



#修改完毕后esc退出编辑,输入:wq保存并退出
#然后重启systemctl
systemctl daemon-reload


#然后就可以使用systemctl启动nginx了
#启动nginx服务
systemctl start nginx.service
#停止nginx服务
systemctl stop nginx.service
#重启nginx服务
systemctl restart nginx.service
#重新加载nginx配置(不停止nginx服务加载新修改的配置)
systemctl reload nginx.service

你可能感兴趣的:(linux,linux,nginx,服务器)