SHELL: Compile NGINX automatic deployment script and shellnginx script

Source: Internet
Author: User

SHELL: Compile NGINX automatic deployment script and shellnginx script

1. Function Description

1. Install the support package, download the custom NGINX package from the software source, and create NGINX users and user groups.

2. Install and initialize NGINX configuration.

3. Run NGINX and check the running status.

 

2. Implementation

The source code is as follows:

#!/bin/bash# eastmoney public tools# version: v1.0.1# create by XuHoo, 2016-9-28#function environment() {    if [[ "$USER" != "root" ]]; then        echo "Current user is not root"        return 1    fi    yum -y install wget curl pcre pcre-devel zlib zlib-devel gcc gcc-c++ &> /tmp/nginx_install.log    # getUrl: Input download source address    # getUrl='http://172.16.1.1\nginx-1.8.1.tar.gz'    wget -P /tmp/ $getUrl/nginx.tar.gz    grep "nginx" /etc/passwd > /dev/null    if [[ $? -ne 0 ]]; then  # check user and group        groupadd nginx        useradd -M -g nginx -s /sbin/nologin nginx    fi    cd /tmp; tar -zxf nginx.tar.gz; cd nginx    return 0}; environment; [ $? -ne 0 ] && exit 1function install() {    # Compile before installation configuration    ./configure --prefix=/usr/local/nginx \                --user=nginx --group=nginx \                --with-http_stub_status_module \                &> /tmp/nginx_install.log    if [[ $? -ne 0 ]]; then        return 1    else        # make && make install        make &> /tmp/nginx_install.log        make install &> /tmp/nginx_install.log        if [[ $? -ne 0 ]]; then            return 1        fi        return 0    fi}; install; [ $? -ne 0 ] && exit 1function optimize() {    ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ > /dev/null    cp -f /tmp/nginx_control.sh /etc/init.d/nginx    cp -f /tmp/nginx.conf /usr/local/nginx/conf/nginx.conf    # The number of CPU cores current server,    # Amend the "worker_processes" field to the value of the processor    processor=`cat /proc/cpuinfo | grep "processor" | wc -l`    sed -i "s/^w.*;$/worker_processes  ${processor};/g" /usr/local/nginx/conf/nginx.conf    chmod +x /etc/init.d/nginx    chkconfig --add nginx    retval=`chkconfig --level 3 nginx on`  # Configure nginx open start service    return $retval}; optimize; [ $? -ne 0 ] && exit 1function run() {    # Test nginx.conf file syntax is correct    /etc/init.d/nginx test &> /tmp/nginx_run.log    if [[ $? -ne 0 ]]; then        retval=$?    else  # Start nginx server        /etc/init.d/nginx start &> /tmp/nginx_run.log        if [[ $? -ne 0 ]]; then            retval=$?        fi    fi    return 0}; run; [ $? -ne 0 ] && exit 1function check() {    # Modified index.html page content    content=$"deployment on $(date "+%Y-%m-%d %H:%M:%S")"    echo $content > /usr/local/nginx/html/index.html    # View the index.html, and the output of the modified index.html page    /etc/init.d/nginx status    echo -n "Index.html: "; curl http://localhost}; check

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.