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

丰泽园的天空 丰泽园的天空     2022-08-03     150

关键词:

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

 

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

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

 

一、编译安装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
View Code

 

     

    

   

  

 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

 

 

         

linux系列教程——linux软件包管理之rpm命令

...我们会正式的讲解Linux的系统管理,首先要讲的是Linux的软件包管理。1、Linux软件包分类  一、源码包    源码包能直接看到源码,安装时需要人为手工设置安装位置,一般是/usr/local/软件名/。源码包的升级版——脚本安... 查看详情

linux软件安装之apt+dpkg工具(代码片段)

Linux软件安装方式Linux上的软件安装主要有四种方式:在线安装从磁盘安装deb软件包从二进制软件包安装从源代码编译安装aptAPT是AdvancePackagingTool(高级包装工具)的缩写,是Debian及其派生发行版的软件包管理器,APT可以自动下载... 查看详情

软件包管理之rpm

一、前言在没有软件包管理器前,用户都是通过源代码的方式来安装软件。但是我们很容易发现,在每次安装软件时都必须对操作系统的境、编译的参数进行对应的编译,并且操作过程很是复杂,这对于不熟悉操作系统的朋友来... 查看详情

linux之基础开发工具的应用(代码片段)

Linux之基础开发工具的应用一、Linux软件包管理器yum什么是软件包注意事项查看软件包如何安装软件如何卸载软件二、Linux编辑器-vim使用1.vim的基本概念三、Linux编译器-gcc/g++的使用1.背景知识2.函数库3.gcc选项一、Linux软件包... 查看详情

linux之apt命令详解(代码片段)

...可以说是Linux系统下最为重要的命令,安装、更新、卸载软件,升级系统内核都离不开apt命令。apt的全称是AdvancedPackagingTool是Linux系统下的一款安装包管理工具。最初需要在Linux系统中安装软件,需要自行编译各类软件,缺乏一个... 查看详情

linux软件安装之rpm安装

1.RPM安装RedHatPackageManager的缩写,是红帽软件包工具。RPM的提供可升级,具有强大查询功能,支持安全验证的通用型Linux软件包管理工具。由于这种软件管理方式非常方便,所以逐渐被其他Linux发行版所借用。现在已经称为Linux平... 查看详情

lamp之编译安装

在linux中由于存在yum这种包管理方式,使得安装部署软件变得十分简单易用,但在某些特定情况下,由于有特殊需求,需要基于编译这种方式来定制化安装所需要的软件,以能特供自己所需的功能,此处我们来基于编译实现LAMP环... 查看详情

linux下编译安装lnmp(代码片段)

1、安装nginx  下载链接http://nginx.org/en/download.html  (1)下载,解压wgethttp://nginx.org/download/nginx-1.15.8.tar.gztarzxfnginx-1.15.8.tar.gzcdnginx-1.15.8 (2)在编译安装之前先安装需要的依赖库和编译软件安装yuminst 查看详情

linux软件安装之rpm

linux程序包管理的实现,rpm包管理器  rpm命令实现程序管理:    安装:i,--install    升级:-U,update,-F,--freshen    卸载:-e,--erase    查询:-q,- 查看详情

linux源码编译安装nginx

...官网下载源码包:​​https://nginx.org/​​2、将下载好的软件包放到Linux上3、将上传的文件解压:tar-zxvfnginx-1.23.1.tar.gz4、在线安装Nginx依赖文件:yum-yinstallmakezlibzlib-develgcc-c++opensslopenssl-develwgetpcrepcre-develgit5、进入到解压后的文件... 查看详情

gitlab之rpm安装方式

...也可以选择Nginx。缺点:国外的源不稳定,被墙时,依赖软件包难以下载。配置流程繁琐、复杂,容易出现各种各样的问题。依赖关系多,不容易管理,卸载GitLab相对麻烦。通过rpm包安装优点:安装过程简单,安装速度快。采用r... 查看详情

linux系列教程——linux软件包管理之yum在线管理

...的。在实际操作中,我们肯定是不会使用rpm命令手动安装软件包的,更简单的方法就是这篇博客我们将介绍RPM包管理——yum在线管理。 1、yum在线管理  yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell... 查看详情

linux命令详解之-rpm软件包管理

一、查询软件信息                 查询已经安装的软件]#rpm -qa   #当前系统中所有已安装的软件包]#rpm -qa | grep&nb 查看详情

linux系统之源码编译部署redis数据库(代码片段)

...1.Redis简介2.Redis特点二、检查本地系统版本三、下载Redis软件包1.下载软件2.查看redis安装包四、安装redis前环境准备工作1.解压redis压缩包2.安装gcc模块五、编译redis源码包1.进入软件目录2.编译redis前准备工作3.编译redis六、启动redis1... 查看详情

大数据之路之linux篇(代码片段)

...压指令3.3Linux调度任务crontab,at3.4Linux进程管理3.5Linux软件管理RPM、YUM、TAR3.5.1软件管理RPM——默认安装路径3.5.2软件管理RPM——rpmqa软件查询3.5.3软件管理RPM——rpm软件安装、卸载3.5.4软件管理RPM——rpm升级与更新3.5.5软件管理Y... 查看详情

讲清楚,说明白!资源管理三板斧之--htopvmstatdstat

...Fedora社区打造,为RHEL及衍生发行版如CentOS等提供高质量软件包的项目。装上了EPEL,就像在Fedora上一样,可以通过yuminstall的方式安装,即可安装很多以前需要编译安装的软件、常用的软件或一些比较流行的软件,比如现在流行的... 查看详情

lnmp环境搭建之编译安装指南(php-5.3.27.tar.gz)(代码片段)

测试环境:CentOSrelease6.5(Final)软件安装:nginx mysql-5.5.32-linux2.6-x86_64.tar.gz php-5.3.27.tar.gz 1、mysql安装详见:https://www.cnblogs.com/su-root/p/10247514.html2、nginx安装详见:https://www.cnblogs.c 查看详情

linux软件安装(代码片段)

Linux软件安装这里主要有三种:编译安装(麻烦,不推荐)rpm安装(一般,不太推荐)yum安装(推荐)一、编译安装编译安装是最麻烦的方式,一般不推荐使用。但是我们依然要了解下,万一以后不得已用到了呢?我们拿淘宝的T... 查看详情