centos7下断网通过脚本安装nginx1.10.0,并实现开机自启动

需求背景:
机房或者客户现场可能会出现无网络的情况,但是需要安装nginx到服务器,并且实现开机自启动

类似方式安装mysql可以查看本人另一篇文章,附上点击链接;
类似方式安装mongodb可以查看本人另一篇文章,附上点击链接;
类似方式安装JDK1.8可以查看本人另一篇文章,附上点击链接;
类似方式安装redis可以查看本人另一篇文章,附上点击链接;

实现思路:
下载需要的rpm包,通过rpm的安装方式进行安装,本人通过Vmware来模拟需求背景,真实情况也一样,可以通过U盘或者光盘达到上传安装包的效果。

第一步:
安装的nginx版本rpm-----------nginx-1.10.0-1.el7.ngx.x86_64.rpm;
下载地址:
https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm
(直接就能下载,不能的话就自己去找过一个安装包)

或者网盘下载:
链接:https://pan.baidu.com/s/1XxYK-yUB2kSO-pNcmBlcdQ
提取码:1030

第二步
脚本文件,我是直接把下载好的rpm包和脚本文件一起放在/root路径下面
在这里插入图片描述

第三步
nginx.sh文件内容

echo "+++++++++++ start nginx ++++++++++++++++"
rpm -ivh nginx-1.10.0-1.el7.ngx.x86_64.rpm
echo "+++++++++++ start config ++++++++++++++++"
nginx -c /etc/nginx/nginx.conf
echo "+++++++++++ nginx  success !!!!!!!!!!++++++++++++++++"
#添加自启动
						cp /root/nginxd /etc/nginx/
						cp /root/nginx.service /lib/systemd/system/
						chmod 754 /lib/systemd/system/nginx.service
						systemctl enable nginx.service
                        echo "自启动添加成功"
                        systemctl start nginx.service

         

nginx.service (这个是自启动需要的脚本,这个脚本需要把他放到路径/lib/systemd/system/下,脚本里面已经写好了;!!!!尝试过通过/etc/rc.local下这个方法不行)

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

其他基本不用改,把ExecStart,ExecReload,ExecStop换成自己的就可以。rpm包安装的时候,默认的就是这样的,也可以不用改,要改的话可以(whereis xxx)这个命令搜索一下具体文件

nginxd这个文件提供了一些暂停,启动的方法,nginx.sh脚本里面已经写好了默认复制到安装nginx的位置,附上内容,仅供参考:文件头顶部的/etc/init.d/nginxd自己尝试过开机重启的时候不可用,故采用nginx.service方式

#!/bin/bash
# chkconfig: 2345 30 60
# description: Nginx is a http server or forward
[ -f /etc/init.d/nginxd ] && . /etc/init.d/nginxd
pidfile=/var/run/nginx.pid;

Start_Nginx(){
  if [ -f $pidfile ];then
    echo "Nginx is running"
  else
    nginx -c /etc/nginx/nginx.conf
    /usr/sbin/nginx &>/dev/null
    action "Nginx is Started" /bin/true
  fi
}
Stop_Nginx(){
    if [ -f $pidfile ];then
    /usr/sbin/nginx -s stop &>/dev/null
    action "Nginx is Stopped" /bin/true
  else
    echo "Nginx is already Stopped"
  fi
}
Reload_Nginx(){
  if [ -f $pidfile ];then
    /usr/sbin/nginx -s reload &>/dev/null
    action "Nginx is Reloaded" /bin/true
  else
    echo "Can't open $pidfile ,no such file or directory"
  fi
}

case $1 in
  start)
    Start_Nginx
    RETVAL=$?
    ;;
  stop)
    Stop_Nginx
    RETVAL=$?
    ;;
  restart)
    Stop_Nginx
    sleep 3
    Start_Nginx
    RETVAL=$?
    ;;
  reload)
    Reload_Nginx
    RETVAL=$?
    ;;
  *)
    echo "USAGE: $0 {start|stop|reload|restart}"
    exit 1
esac
exit $RETVAL

!!!!!!!!!!!!以上这些都好了的话,
1、切到/root路径下面 cd /root
2、执行命令:bash /root/nginx.sh 如下图(我已经安装过了,所以有些会显示already):
在这里插入图片描述

3、重启系统:reboot now
4、输入查看进程命令:ps aux|grep nginx;如下图
在这里插入图片描述

然后就可以看到成功了,有疑问欢迎留言,有问题欢迎大佬指出。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪稳定的犟种

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值