pure-ftpd (pureftpd) 加入chkconfig开机启动服务

回复 收藏
今天在复习pureftpd,
安装后,我们一般是用 /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf 这串命令启动服务。

当我修改默认端口后,竟然不知道用什么命令去stop 和 restart。
每次修改完都需要重启虚拟机,觉得特别麻烦。
我就想为什么pureftpd不能像nginx那样把启动脚本放入/etc/init.d/ 呢?
然后就在网上搜索资料,终于找到了解决办法,有需要的同学可以试试。


步骤:
[root@LNMP6 ~]# cd /usr/local/src/pure-ftpd-1.0.37/contrib/      #先进入这个目录
[root@LNMP6 contrib]# cp redhat.init  /etc/init.d/pureftpd      #拷贝redhat.init 并命名为pureftpd
[root@LNMP6 contrib]# chmod 755 /etc/init.d/pureftpd         #增加可执行权限
[root@LNMP6 contrib]# vim /etc/init.d/pureftpd                #修改启动脚本
18 fullpath=/usr/local/pureftpd/sbin/$prog          #第18行改成这样,都是我们pureftpd文件存放的路径。
19 pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho        #第19行改成这样。
24 $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf – daemonize    #第24行改成这样。
31  kill $(cat /usr/local/pureftpd/var/run/pure-ftpd.pid)         
# 第31行改成这样。这个PID文件是我们在pure-ftpd.conf里定义的存放路径。

然后保存。就可以直接试用 /etc/init.d/pureftpd start  或者 service pureftpd start 开启服务。


但是在我stop 服务时,又出现错误:
[root@LNMP6 init.d]# service pureftpd stop
停止 pure-config.pl:cat: /usr/local/pureftpd/var/run/pure-ftpd.pid: 没有那个文件或目录

(这个文件的路径是我们在pure-ftpd.conf里面定义的PIDFile的路径)
[root@LNMP6 pureftpd]#  ls /usr/local/pureftpd     #查看pureftpd目录下,只有这4个目录,没有var/run.
bin  etc  sbin  share   
[root@LNMP6 pureftpd]# mkdir -p /usr/local/pureftpd/var/run    #我自己创建这个目录

然后重新启动pureftpd服务。 这个PID文件就自动加载出来了。
[root@LNMP6 pureftpd]# ls /usr/local/pureftpd/var/run/pure-ftpd.pid
/usr/local/pureftpd/var/run/pure-ftpd.pid

然后就可以正常的start  stop 和restart..

加入chkconfig 列表:
[root@LNMP6 pureftpd]# chkconfig --addd pureftpd
[root@LNMP6 pureftpd]# chkconfig pureftpd on      






2016-03-29 12:59 举报
已邀请:
0

Coohx - 小运维

赞同来自:

666 刚复习,就想着能不能放到 init.d 里面去

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: