| 
       
	一:概述 
	  
	   CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d/的启动脚本的方式就此改变,也大幅提高了系统服务的运行效率。但服务的配置和以往也发生了极大的不同。 
	   CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,还是存在系统服务里吧,即:/usr/lib/systemd/system目录下,并且每一个服务以 .service 结尾。 
	  
	Centos 系统服务脚本目录: 
/usr/lib/systemd 
	如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即: 
/usr/lib/systemd/system 
	  
	2. 开始配置 
	2.1 环境 ===> 
	   1. 添加自启动服务为:uwsgi 
	   2. 自启动脚本以经写好 
	   3. 本人将开机自启动的脚本放在 /etc/init.d/目录下,并加执行权限 
	  
	2.2  配置 ===> 
	    每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],我写的这个服务用于开机运行uwsgi项目,具体内容如下: 
[root@tsingserver ~]# cd /usr/lib/systemd/system
[root@tsingserver system]# vim uwsgid.service
[Unit]
Description=uwsgid
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/uwsgid start
ExecReload=/etc/init.d/uwsgid restart
ExecStop=/etc/init.d/uwsgid stop
PrivateTmp=true
   
[Install]
WantedBy=multi-user.target 
	 服务脚本按照上面编写完成后,以 754 的权限保存在/usr/lib/systemd/system目录下 
	  
[root@tsingserver system]# chmod 754 uwsgid.service 
	  
	  配置文件解释如下: 
	  [Unit]             ===>     服务的说明 
	       Description:描述服务 
	       After:描述服务类别 
	  [Service]        ===>     服务运行参数的设置 
	       Type=forking:是后台运行的形式 
	       ExecStart:为服务的具体运行命令 
	       ExecReload:为重启命令 
	       ExecStop:为停止命令 
	       PrivateTmp=True:表示给服务分配独立的临时空间 
	      注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 
	[Install]          ===>     服务安装的相关设置,可设置为多用户 
	-------------------------------------------------------------------------------- 
	3. 设置开机自启动 
	  
 systemctl enable uwsgid.service 
	  
	4. 其他命令 
	  以下以httpd服务为例 
	
		
			| 
				任务 | 
			
				旧指令 | 
			
				新指令 | 
		 
		
			| 
				使某服务自动启动 | 
			
				chkconfig --level 3 httpd on              | 
			
				 systemctl enable httpd.service | 
		 
		
			| 
				使某服务不自动启动 | 
			
				chkconfig --level 3 httpd off | 
			
				 systemctl disable httpd.service | 
		 
		
			| 
				检查服务状态 | 
			
				service httpd status | 
			
				 
					 systemctl status httpd.service  
				
					         <== 服务详细信息 
				
					 systemctl is-active httpd.service  
				
					         <== 仅显示是否 Active 
			 | 
		 
		
			| 
				显示所有已启动的服务 | 
			
				chkconfig --list | 
			
				 systemctl list-units --type=service | 
		 
		
			| 
				启动某服务 | 
			
				service httpd start | 
			
				 systemctl start httpd.service | 
		 
		
			| 
				停止某服务 | 
			
				service httpd stop | 
			
				 systemctl stop httpd.service | 
		 
		
			| 
				重启某服务 | 
			
				service httpd restart | 
			
				 systemctl restart httpd.service | 
		 
	
 
	  
	启动nginx服务 
  systemctl start nginx.service 
	设置开机自启动 
  systemctl enable nginx.service 
	停止开机自启动 
  systemctl disable nginx.service 
	查看服务当前状态 
  systemctl status nginx.service 
	重新启动服务 
  systemctl restart nginx.service 
	查看所有已启动的服务 
  systemctl list-units --type=service 
	  
	参考博文:http://blog.csdn.net/yuanguozhengjust/article/details/38019923 
      (责任编辑:IT) |