linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

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

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

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

一、编译安装nginx源码包。

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

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

3. 指定nginx的运行用户。

  useradd -s /sbin/nologin -M nginx

useradd 添加用户。

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

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

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

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

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

编译: make -j 4

安装:make install

二、编写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

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

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

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

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

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

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

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

声明:本文为博主原创,转载必须注明出处:

http://www.cnblogs.com/jasmine-Jobs/p/5847825.html

时间: 2024-08-03 19:20:08

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本的相关文章

在Linux和Windows系统上安装Nginx服务器的教程

在Linux和Windows系统上安装Nginx服务器的教程 ?1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RPM 包版本较低.如果需要更新版本,可以使用官方制作的 rpm 包,或者使用源码包编译安装. 还可以使用一些二次开发功能增强的 nginx 版本,例如淘宝的 Tengine 和 OpenResty 都是不错的选择.1.1 常用编译参数 ??? --prefix=PATH:指定 nginx 的安装目录?

开发人员学Linux(5):CentOS7编译安装Nginx并搭建Tomcat负载均衡环境

1.前言在上一篇讲述了JMeter的使用,在本篇就可以应用得上了.本篇将讲述如何编译安装Nginx并利用前面的介绍搭建一个负载均衡测试环境.2.软件准备Nginx-1.12.0,下载地址:https://nginx.org/download/nginx-1.12.0.tar.gzTomcat8(本系列已介绍过如何下载和安装)JMeter(本系列已介绍过如何下载和使用)注:VirtualBox宿主机IP为"192.168.60.16,虚拟机IP为:192.168.60.198,虚拟机通过桥接方式接

Linux 从源码编译安装 Nginx

Nginx 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器.Nginx 编译安装比较简单,难点在于配置.下面是 Nignx 0.8.54 编译安装和简单配置笔记. 一.准备工作 1.1.安装 OpenSSL OpenSSL 版本:openssl-1.0.0c (安装方法) 1.2.准备 pcre 库 pere 是为了让 nginx 支持正则表达式.只是准备,并不安装,是为了避免在64位系统中出现错误. 1.wget ftp://ftp.csx.c

linux企业常用服务---编译安装nginx

网络下载nginx源码包: wget http://nginx.org/download/nginx-1.6.2.tar.gz 安装依赖: yum install pcre-devel zlib-devel  ##本地的光盘作为yum源 安装nginx: useradd -M -s /sbin/nologin nginx tar zxvf nginx-1.6.2.tar.gz -C /usr/src/ cd /usr/src/nginx-1.6.2/ [[email protected] ngi

Linux软件包管理之编译安装httpd

为什么要编译安装软件呢? 有人会问,放着制作好的RPM包不用,干嘛费真么大的劲用源码来编译安装呢?其实,源码包安装有如下好处: 1.最大的好处就在于可以根据自身的需求,最大程度上对软件进行定制安装 2.源码安装可以选择最新的软件包 3.源码包安装的软件卸载时极为方便和简单,更重要的是,它比较安全,尤其是对线上的生产环境而言. 4.迁徙也比较方便,如果不涉及系统库文件,复制到另一台机器上也可以使用. 下面我们就来通过源码包的方式来安装httpd 实验环境: VMware Workstation 1

Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)

本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 下载相关组件源码 组件名 组件官网 直接下载地址 pcre http://www.pcre.org/ http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz openssl https://www.openssl.org/source/ https:/

ansible-playbook 手工编译安装nginx

虽然nginx也可以通过yum安装,但是如何使用源码包安装并自定义开启一些nginx功能模块,并且通过ansible下发到被管理集群呢?下面给给位看官提供一个具体实例以供参考.首先我们需要手工编译好一台nginx服务器作为模板,再采用roles角色管理的方式将其解耦,并下发到被管理集群,具体步骤如下:实验环境:ansibleserver,nginx模板:(IP:192.168.252.130 centos7)Mysqlserver: (IP:192.168.252.173 centos7)Web

Linux软件管理 - 编译安装

Linux软件管理 - 编译安装 文本关键字:Linux.软件管理.configure.make.make install 一.环境准备 很多软件下载之后是一个源码包,是不能够直接运行的,需要先进行编译安装,生成可执行程序.在进行编译时,需要先使用yum安装编译工具. 1. 核心组件 必须要安装的就是gcc(GNU Compiler Collection)GNU编译器套件,其中包含了C.C++.Objective-C.Fortran.Java.Ada.Go语言前端,也包含了对应语言的库,几乎可以

linux 安装nginx服务器

LINUX安装nginx服务器 1.安装nginx所需要的依赖包 说明:如果没有安装以上的安装包可以按照以下的方式安装 2.上传nginx包 在ssh远程连接工具(本文使用的是Xshell 5)中输入rz后会提示选择软件包 3.解压nginx软件包 4.创建nginx用户 5.配置并安装nginx服务器 ./configure --prefix=/usr/local/nginx--user=nginx --group=nginx --with-http_stub_status_module &&a