Shell脚本一键安装Nginx服务自定义Nginx版本

下面我来详细讲解“Shell脚本一键安装Nginx服务自定义Nginx版本”的完整攻略:

1. 准备工作

首先,我们需要准备好以下两个文件:

  • Nginx源码包(.tar.gz格式)
  • 自定义Nginx配置文件

可以从Nginx官网(http://nginx.org/)下载最新的源码包,或者根据自己的需要下载指定版本的源码包。

至于Nginx配置文件,可以根据自己的需要进行定制化设置,比如修改端口号、添加虚拟主机等。我们可以将它放在一个独立的文件夹中,以便后续使用。

2. 编写Shell脚本

Shell脚本是整个自动化安装的核心。下面是一个示例脚本,其中包含了两个命令行参数,分别是自定义Nginx版本号和Nginx源码包的路径:

#!/bin/bash

# 获取命令行参数
NGINX_VERSION=$1
NGINX_SOURCE=$2

# 判断源码包是否存在
if [ ! -f $NGINX_SOURCE ]; then
  echo "Nginx源码包不存在,请检查后重试。"
  exit
fi

# 关闭SELinux(如果有需要的话)
setenforce 0 2>/dev/null

# 安装编译需要的依赖
yum install -y gcc openssl-devel pcre-devel zlib-devel

# 解压源码包
tar -zxvf $NGINX_SOURCE

# 进入源码目录
cd ${NGINX_SOURCE%.tar.gz}

# 配置Nginx
./configure \
  --prefix=/usr/share/nginx \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx.pid \
  --lock-path=/var/run/nginx.lock \
  --with-http_ssl_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-file-aio \
  --with-http_realip_module \
  --with-http_addition_module \
  --with-http_sub_module \
  --with-http_dav_module \
  --with-http_flv_module \
  --with-http_mp4_module \
  --with-http_random_index_module \
  --with-http_secure_link_module \
  --with-http_degradation_module \
  --with-http_slice_module \
  --with-http_perl_module \
  --with-mail \
  --with-mail_ssl_module \
  --with-google_perftools_module \
  --with-debug \
  --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'

# 编译Nginx
make

# 安装Nginx
make install

# 创建Nginx配置文件软链接
ln -s /etc/nginx/sites-available /etc/nginx/sites-enabled

# 复制自定义Nginx配置文件
cp /path/to/nginx.conf /etc/nginx/

# 重启Nginx服务
systemctl restart nginx.service

该脚本包含了以下步骤:

  • 获取命令行参数。
  • 判断源码包是否存在。
  • 关闭SELinux(如果有需要的话)。
  • 安装编译需要的依赖。
  • 解压源码包。
  • 进入源码目录。
  • 配置Nginx。
  • 编译Nginx。
  • 安装Nginx。
  • 创建Nginx配置文件软链接。
  • 复制自定义Nginx配置文件。
  • 重启Nginx服务。

可以根据自己的实际需求进行修改和定制化。

3. 示例

下面是两个示例命令:

$ sh nginx_setup.sh 1.20.1 /path/to/nginx-1.20.1.tar.gz

该命令表示安装Nginx 1.20.1版本,源码包路径为/path/to/nginx-1.20.1.tar.gz。

$ sh nginx_setup.sh 1.21.0 /path/to/nginx-1.21.0.tar.gz

该命令表示安装Nginx 1.21.0版本,源码包路径为/path/to/nginx-1.21.0.tar.gz。

以上就是“Shell脚本一键安装Nginx服务自定义Nginx版本”的完整攻略,希望可以对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Shell脚本一键安装Nginx服务自定义Nginx版本 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • nginx反向代理后abp的webapi host如何获取客户端ip?

    dotnet core 跨平台是微软伟大的创举,脱离iis后服务器成本都降低了。 问题 这不,采用abp搞了个小项目,部署到centos后发现审计日志里面的ip信息不对。 解决 这个问题在.net 4.5下处理过,记得当时是继承 WebClientInfoProvider重写GetClientIpAddress。将代码拿来后发现dotnet core下报错。…

    Nginx 2023年4月16日
    00
  • nginx配置文件nginx.conf中文注释说明

    nginx是一个流行的Web服务器软件,其配置文件nginx.conf的理解对于使用nginx架设Web应用至关重要。下面是详细讲解“nginx配置文件nginx.conf中文注释说明”的完整攻略。 1. 理解nginx.conf中的基本语法 在开始之前,需要理解nginx.conf文件的基本语法。nginx.conf文件是nginx服务器的主配置文件,其语…

    Nginx 2023年5月16日
    00
  • docker-compose中nginx可以访问html无法访问php 提示File not found. ?

    这几天在搞docker-compose中nginx+php环境,搭建好之后出现可以访问.html文件,但是访问不了.php文件     第一种:没有解析php文件 1:更改配置文件nginx.conf fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 替换成下面(就是把你root文件夹设为…

    Nginx 2023年4月13日
    00
  • nginx 虚拟主机基于端口的搭建

    首先配置nginx.conf [root@localhost conf]# cat nginx.confworker_processes 1;user nginx nginx;error_log /app/log/nginx.error.log; events { use epoll; worker_connections 1024;}http { incl…

    Nginx 2023年4月10日
    00
  • 对nginx-naxsi白名单规则详解

    关于“对nginx-naxsi白名单规则详解”的攻略,我将会分为以下几个部分来进行讲解: 什么是nginx-naxsi白名单规则 如何配置nginx-naxsi白名单规则 示例说明 1. 什么是nginx-naxsi白名单规则 nginx-naxsi是nginx的一个安全模块,它可以帮助防止常见的Web攻击,例如SQL注入、XSS和请求嗅探等。而naxsi白…

    Nginx 2023年5月16日
    00
  • centos7 安装 nginx-1.14.2

    第一步:安装依赖包 yum -y install pcre-devel  openssl openssl-devel libevent-devel libxslt-devel gcc gcc-c++ gcc-g7 第二步:下载 nginx-1.14.2.tar.gz                解压到 /usr/local/tools           …

    Nginx 2023年4月11日
    00
  • nginx的rewrite详解

    rewrite模块(ngx_http_rewrite_module) nginx通过ngx_http_rewrite_module模块支持url重写、支持if条件判断,但不支持else。另外该模块需要PCRE支持,应在编译nginx时指定PCRE支持。根据相关变量重定向和选择不同的配置,从一个location跳转到另一个location,不过这样的循环最多可…

    Nginx 2023年4月13日
    00
  • Nginx反向代理维基百科镜像制作全解析

    近日做的Ngnx代理测试,基于Nginx的ngx_http_substitutions_filter_module模块,并利用UA跳转实现PC/移动端不同站点跳转。 1. 关于Nginx的代理详细请转至:https://www.agawater.cn/?p=55 2. 个人Blog已转用cloudflare免费CDN,并在VPS做了v”two”ray+web…

    Nginx 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部