linux 设置开机启动服务程序

我最近在搭建一个网站,

我是在阿里云上租了一个小型低配的主机(真的很低配,1G内存,单核,1M带宽)没钱租得起好的服务器就这样-_-

因为我要提供网页访问服务,还有文件上传功能,所以我要在主机上开启httpd和vsftpd的服务。但是由于这两个服务不是开机启动的,所以每次重启机子后还有再开启这两个服务,实在很烦。然后我记得鸟哥的教材里有专门讲到这一张,于是就翻开的了我的葵花宝典——《鸟哥的私房菜》,查找相关的内容。

鸟哥是以centOS 5.X为例,运用的是chkconfig的命令来设置开机启动,然后我使用该命令的时候,有下面的提示:

 

提示:Forwarding request to ‘systemctl enable httpd.service’。

难道一定要 用systemclt命令么?于是就查找各种资料,在网上论坛间逛啊,找到了一篇很不错的文章来讲这两者的区别

以下就是说明(转载):

任务 旧指令 新指令
使某服务自动启动 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

下面以nfs服务为例:

1.启动nfs服务

systemctl start nfs-server.service

2.设置开机自启动

systemctl enable nfs-server.service

3.停止开机自启动

systemctl disable nfs-server.service

4.查看服务当前状态

systemctl status nfs-server.service

5.重新启动某服务

systemctl restart nfs-server.service

6.查看所有已启动的服务

systemctl list -units --type=service

开启防火墙22端口

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

如果仍然有问题,就可能是SELinux导致的

关闭SElinux:

修改/etc/selinux/config文件中的SELINUX=”” 为 disabled,然后重启

彻底关闭防火墙:

sudo systemctl status  firewalld.service
sudo systemctl stop firewalld.service          
sudo systemctl disable firewalld.service

这篇文章的作者讲的很清楚,其实syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了。

嗯,个人觉得这个命令确实挺不错的,挺方便、又好记。所以,做个笔记学习下!

原文:http://my.oschina.net/5lei/blog/191370

此条目发表在Linux分类目录,贴了标签。将固定链接加入收藏夹。