阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下编译安装Nginx服务器并手动编写自动化运行脚本

475次阅读
没有评论

共计 2916 个字符,预计需要花费 8 分钟才能阅读完成。

红帽系列的 Linux 软件管理分为三类:1. rpm 安装软件。2. yum 安装软件。3. 源码包编译安装。前面两种会在相关专题给出详细讲解。源码包的编译安装是非常关键的,我们知道 linux 的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等。同一功能的软件如果只有编译好的软件包,在其它 Linux 的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了。所以本文的重点是以 nginx 为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本。

准备工作:nginx 源码包,官网地址:http://nginx.org/en/download.html

可以看一下:长下面的这样子:

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

一、编译安装 nginx 源码包。

1. 用 xshell 将下载的 nginx 源码包放到 /root 目录下面。当然你虚拟机可以上网,在虚拟机中用 wget 下载也是可以的。建议不要这样做,因为虚拟机上网一般比较慢。

 Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

2.  安装依赖的软件包工具 zlib-devel  pcre-devel, 这里用 yum 安装这两个包。

rpm -qa | grep  zlib-devel

rpm -qa | grep  pcre-devel    #检查这两个包是否已经安装了。

这里用 yum 安装这两个软件包,yum 安装非常好的一点就是,你只要将包名知道就可以了,不需要包的版本信息及依赖包,而 rpm 安装,需要包的全名,包括版本信息,后缀名还需要自己安装先关的依赖包等,不是很方便。

yum install zlib-devel # yum 安装这个软件包。当然了,后面可以带上 -y,不需要最后确认安装。

yum install pcre-devel -y 

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

  Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

  Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

3. 指定 nginx 的运行用户。

useradd -s /sbin/nologin -M nginx

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

   useradd 添加用户。

-s /sbin/nologin 指定用户运行的 shell。

-M  不再 home 目录下创建该用户的目录。

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

4. 解包,配置,编译,安装 nginx

解包:tar zxf nginx-1.11.2.tar.gz -C /usr/src

  配置:./configure –prefix=/usr/local/nginx –user=nginx –group=nginx

 Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

  编译:make -j 4 

  Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

  安装:make install 

    Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

   

    Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

二、编写 nginx 启动脚本:

 1. 系统的脚本服务,一般放在这个目录下面:/etc/init.d 中,我们也放到这里。

2. 编写 nginx 启动的脚本。

  vim nginx 在文件 nginx 中编写如下脚本:

# description: nginx-server

nginx=/usr/local/nginx/sbin/nginx
case "$1" in
        start)
                netstat -anlpt | grep nginx
            if
                [$? -eq 0 ]
             then
                echo " the nginx-server is already running"
            else
                echo " ther nginx-server is starting to run"
                $nginx
            fi
         ;;

       stop)
              netstat -anlpt | grep nginx
                if 
                [$? -eq 0 ]
              then
                   $nginx -s stop
                   if [$? -eq 0 ]
                      then
                          echo " the nginx-server is stopped " 
                   else
                          echo " failed to stop the nginx-server" 
                  fi
            else
               echo " the nginx-server has stopped you needn't to stop it " 
            fi
         ;;
      restart)
                 $nginx -s reload
             if 
                 [$? -eq 0 ]
               then
                  echo "the nginx-server is restarting "
              else
                  echo " the nginx-server failed to restart"
             fi
         ;;

        status)
                   netstat -anlpt | grep nginx
             if 
                 [$? -eq 0 ]
               then
                   echo " the nginx-server is running "
            else
                   echo " the nginx-server is not running ,please try again" 
             fi
       ;;

        status)
                   netstat -anlpt | grep nginx
             if 
                 [$? -eq 0 ]
               then
                   echo " the nginx-server is running "
            else
                   echo " the nginx-server is not running ,please try again" 
             fi
         ;;
        *)
               echo "please enter {start|stop|status|restart}"
        ;;
esac

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

    Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

   Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

  Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

3. 给脚本添加权限,并将 nginx 服务添加到系统服务中:

给脚本添加权限:chmod +x nginx

将 nginx 服务添加到系统服务中:chkconfig  –add nginx

查看 nginx 的运行级别:chkconfig  –list nginx 

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

4. 启动脚本,进行测试:

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

说明:有时候会出现这种错误:

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

上面的报个小错,当 restart 时,用 lsof –i:80 检查一下:发现是刚才的 nginx 在占用着端口,说明 restart 中实现该功能的函数有点弱:可以考虑用 stop 和 start 来替换掉。

Linux 下编译安装 Nginx 服务器并手动编写自动化运行脚本

CentOS 7 下 Nginx 服务器的安装配置  http://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS 上安装 Nginx 服务器实现虚拟主机和域名重定向  http://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装 LNMP 环境(Linux+Nginx+MySQL+PHP)http://www.linuxidc.com/Linux/2017-04/142880.htm

Linux 下安装 PHP 环境并配置 Nginx 支持 php-fpm 模块  http://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx 服务的 SSL 认证和 htpasswd 认证  http://www.linuxidc.com/Linux/2017-04/142478.htm

Linux 中安装配置 Nginx 及参数详解  http://www.linuxidc.com/Linux/2017-05/143853.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

CentOS 7.2 下 Nginx+PHP+MySQL+Memcache 缓存服务器安装配置  http://www.linuxidc.com/Linux/2017-03/142168.htm

CentOS6.9 编译安装 Nginx1.4.7  http://www.linuxidc.com/Linux/2017-06/144473.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-06/144903.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2916字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7960858
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...