NGINX快速部署

#!/bin/bash

#######################################################################################################
#. 安装编译工具、依赖包
#. 新建的用户组和用户主要是在编译配置的时候指定nginx运行的用户和用户组。这样指定后以后配置使用也方便
#. 下载安装包 首先登录nginx官网http://nginx.org/download/确定你要下载的安装包  eg:nginx-1.13.1.tar.gz
#. 配置编译和安装路径 ./configure --prefix=/usr/local/nginx
#. 编译并安装
#. 生产启动脚本和重启脚本
#######################################################################################################
install_dir='/data/package/'
conf_dir='/data/nginx/'
package=nginx-.tar.gz

# 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
if [ ! -d "$install_dir" ]; then
mkdir -p "$install_dir"
fi

if [ ! -d "$conf_dir" ]; then
mkdir -p "$conf_dir"
fi

#安装编译工具、依赖包
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
yum -y install wget

#新建的用户组和用户主要是在编译配置的时候指定nginx运行的用户和用户组。这样指定后以后配置使用也方便
sudo groupadd -r nginx
sudo useradd -s /sbin/nologin -g nginx -r nginx

#下载源码包
cd ${install_dir}

if [ ! -f "$package" ]; then
wget http://nginx.org/download/"${package}"
fi
if [ ! -d "${install_dir}""${dir}" ]; then
tar zvxf "${package}"
fi

#配置编译和安装路径, 编译并安装
echo `pwd`
cd "${install_dir}""${dir}"
./configure \
--prefix=${conf_dir} \
--sbin-path=${conf_dir}/sbin/nginx \
--conf-path=${conf_dir}/conf/nginx.conf \
--error-log-path=${conf_dir}/logs/error.log \
--http-log-path=${conf_dir}/logs/access.log \
--pid-path=${conf_dir}/logs/nginx.pid \
--with-http_stub_status_module  \
--with-http_ssl_module  \
--user=nginx \
--group=nginx   && make &&  sudo make install

#清理磁盘,
#===
#进入安装目录并执行脚本

cd ${conf_dir}/
echo "最后一步,以后你可以直接使用 nginx (-s restart/stop)管理nginx服务"
cp -f sbin/nginx /sbin/nginx
#nginx -s stop
nginx
#
echo "  "
echo "  "
netstat -ntpl |
exit 

NGINX快速部署的更多相关文章

  1. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  2. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  3. 使用VMDepot镜像快速部署CKAN开放数据门户

    最新发布的CKAN VMDepot镜像针对中国用户强化了中文支持,提升了与MS Office办公软件的互操作性,并集成了常用插件和最佳实践配置参数. 使得CKAN原本十分复杂繁琐的部署流程变得非常简单 ...

  4. 使用Ambari快速部署Hadoop大数据环境

    使用Ambari快速部署Hadoop大数据环境   发布于2013-5-24   前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Amb ...

  5. 如何快速部署国人开源的 Java 博客系统 Tale

    除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...

  6. Nginx安装部署与测试

    场景:项目需要部署在生产环境中,这些新的工具都需要在生产环境中去实践练习.有时间再部署一套ELK的日志分析系统,这样的系统才算具有一定的应用价值. 1 Nginx安装 用root用户安装,采用源代码编 ...

  7. nginx服务部署 说明

    第1章 常用的软件 1.1 常用来提供静态服务的软件   Apache :这是中小型Web服务的主流,Web服务器中的老大哥,   Nginx :大型网站Web服务的主流,曾经Web服务器中的初生牛犊 ...

  8. Docker环境 ELK 快速部署

    Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...

  9. 【gitlab】gitlab快速部署教程

    gitlab快速部署教程 部署环境 Ubuntu 16.04(亲测可用) 开始部署 安装依赖 sudo apt-get install curl openssh-server ca-certifica ...

随机推荐

  1. [TypeScript] Custom data structures in TypeScript with iterators

    We usually think of types as something that can define a single layer of an object: with an interfac ...

  2. jquery怎样获得父级窗体的大小

    方法例如以下: $(window.parent.window).width() 注意: window能够省略.如:$(parent).width(),parent能够有多级,比方:$(parent.p ...

  3. Java定时任务的三种实现方法

    译者注:个人觉得用定时任务来跑垃圾回收不是很好的例子,从译者接触到的项目来看,比较常见的是用定时任务来进行非实时计算,清除临时数据.文件等.在本文里,我会给大家介绍3种不同的实现方法:1.普通thre ...

  4. mui 根据 json 数据动态创建列表

    使用 underscore.js 模块解析 Underscore提供了一个轻量级的模板解析函数,它可以帮助我们有效地组织页面结构和逻辑. 实例: <!DOCTYPE html> <h ...

  5. leetcode 解题报告 Word Ladder II

    题目不多说了.见https://oj.leetcode.com/problems/word-ladder-ii/ 这一题我反复修改了两天半.尝试过各种思路,总是报TLE.终于知道这一题为什么是leet ...

  6. 安装JDK不当--找不到或无法加载主类 com.sun.tools.javac.Main

    问题描述:我的问题是在使用javac编译测试程序市,出现如下错误: 错误: 找不到或无法加载主类 com.sun.tools.javac.Main 解决办法:当出现这个错误时,百度之,结果很多人都是说 ...

  7. ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串

    ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串 2010-12-29 21:32 by 鹤冲天, 4289 阅读, 14 评论, 收藏, 编辑 用户输入的字符串前后的 ...

  8. 什么是SAAS模式网站?

    说到“SAAS”,它的读法非常有趣,有“萨斯”,有“S.A.A.S”, 还有中文白话“啥事”的.不过,大多不熟悉的朋友第一反应可能是非典?,别误会,此“SAAS”非彼“SARS”,一字之差,但是意义完 ...

  9. 转: android emulator 命令详解

    在命令行输入: emulator -help,即可显示emulator支持的所有命令. Android Emulator usage: emulator [options] [-qemu args] ...

  10. TFTP 与 FTP的区别

    FTP(File Transfer Protocol,文件传输协议)协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,使用TCP端口20和21进行传输.端口20用于传 ...