windows配置nginx像centos一样开机自启
在centos中,设置开机启动脚本可以在: /etc/rc.d/rc.local 这个可执行文件中加入自定义的脚本路径即可,如设置CDH集群开机启动:(由于cloudera-manager使用解压安装的方式,不能直接使用systemctl enable xx)
- 创建集群启动脚本
[[email protected] ~]# cat /root/sh/cdh.sh
for((i=128;i<=130;i++))
do
ssh 192.168.226.$i /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent $1
if [ $i -eq 128 ] ;then
ssh 192.168.226.$i /opt/cm-5.12.0/etc/init.d/cloudera-scm-server $1
fi
done
- 配置/etc/rc.d/rc.local文件
[[email protected] ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 257 Jan 27 23:07 /etc/rc.d/rc.local
[[email protected] ~]# cat /etc/rc.d/rc.local
#!/bin/sh
touch /var/lock/subsys/local
/root/sh/cdh.sh start $>/root/rc.log
在windows中,没有这么方便可以自定义开机服务,如nginx解压安装,没有生成nginx.service文件,那么如何配置开机自启呢?
- 下载可执行文件,包装所需要开机启动的服务
- 定义配置文件
- 按照window的流程:安装“包装后的服务”
下载exe文件:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.2.0/, 重命名文件,如nginx-service.exe
创建配置文件:nginx-service.xml, nginx-service.exe.config
a, nginx-service.xml
<?xml version="1.0"?>
<service>
<id>nginx</id>
<name>Nginx Service</name>
<description>Nginx Service</description>
<logpath>F:\app\nginx-1.15.8\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>F:\app\nginx-1.15.8\nginx.exe</executable>
<startarguments>-p F:\app\nginx-1.15.8</startarguments> <!-- nginx解压目录-->
<stopexecutable>F:\app\nginx-1.15.8\nginx.exe</stopexecutable>
<stoparguments>-p F:\app\nginx-1.15.8 -s stop</stoparguments><!-- nginx解压目录-->
</service>
b, nginx-service.exe.config
<configuration>
<startup> <!--配置支持NET 4.0 runtime,默认只支持NET 2.0 runtime-->
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
c, 安装“包装好的服务”
cd 到nginx-service.exe文件目录: nginx-service.exe install
若没有报错,就说明安装成功了,打开任务管理器,查看服务,配置开机自启